Próbuję zrozumieć kompilację krzyżową. Wiele kompilatorów krzyżowych wspomina o gnueabihf. Byłem w stanie zrozumieć, co oznacza EABI, ale nie mogłem znaleźć nic na temat sufiksu hf. Co to znaczy?eabihf Co to jest hf?
Dziękujemy!
Próbuję zrozumieć kompilację krzyżową. Wiele kompilatorów krzyżowych wspomina o gnueabihf. Byłem w stanie zrozumieć, co oznacza EABI, ale nie mogłem znaleźć nic na temat sufiksu hf. Co to znaczy?eabihf Co to jest hf?
Dziękujemy!
hf
oznacza twardy pływak.
Kiedy użyjesz tej flagi, podczas kompilacji twój kompilator skompiluje twój program tak, aby użył raz uruchomionego Floating Point Unit
.
Twój program będzie działał szybciej, ale tylko wtedy, gdy użyjesz pływających punktów!
Nie wolno używać tej flagi, jeśli twój procesor jej nie obsługuje lub nie uruchamia się.
EDYTOWANIE:
Również, jeśli użyjesz Soft Float
, to wyliczymy wszystkie pływaki "programowo".
Nie, dysk-float/soft-float jest czysto ABI, ponieważ argumenty zmiennoprzecinkowe są przekazywane w rejestrach FPU lub rejestrach ogólnego przeznaczenia. Kod Soft-float może doskonale wykorzystywać jednostkę FPU, jeśli istnieje (konieczne tasowanie rejestru ma tendencję do osiągania umiarkowanego uderzenia wydajnościowego w stosunku do trybu twardego-floata), ale umożliwia także powrót do emulacji. Na przykład Android używa miękkiego ABI dla natywnego kodu, ale dużo tego _ zależy od wydajności sprzętowej FPU (NEON). – Notlikethat
Świetne, dzięki za precyzję! – VivienG
Myślę, że to skrót od "hard-float". – Jite