Ich versuche Cross Compilation zu verstehen. Viele Cross-Compiler erwähnen gnueabihf. Ich konnte verstehen, wofür EABI steht, aber ich konnte nichts über das hf-Suffix finden. Was heißt das?eabihf Wofür steht hf?
Vielen Dank!
Ich versuche Cross Compilation zu verstehen. Viele Cross-Compiler erwähnen gnueabihf. Ich konnte verstehen, wofür EABI steht, aber ich konnte nichts über das hf-Suffix finden. Was heißt das?eabihf Wofür steht hf?
Vielen Dank!
hf
bedeutet Hard Float.
Wenn Sie dieses Flag während der Kompilierung verwenden, kompiliert Ihr Compiler Ihr Programm so, dass es das Floating Point Unit
verwendet, sobald es gestartet wird.
Ihr Programm wird schneller ausgeführt, aber nur wenn Sie Fließkommawerte verwenden!
Seien Sie vorsichtig, dieses Flag nicht zu verwenden, wenn Ihre CPU es nicht unterstützt, oder es wird nicht gestartet.
EDIT:
Auch wenn Sie Soft Float
verwenden, wird es jeden floats "softwarely" berechnen.
Nein, Hard-Float/Soft-Float ist eine reine ABI, ob Gleitkomma-Argumente in FPU-Registern oder Allzweckregistern übergeben werden. Soft-Float-Code kann perfekt eine FPU verwenden, wenn sie existiert (das notwendige Register-Shuffling tendiert dazu, einen moderaten Leistungs-Hit vs. Hard-Float zu ergeben), aber _ erlaubt auch, auf die Emulation zurückzufallen. Zum Beispiel verwendet Android den Soft-Float-ABI für nativen Code, aber viele davon hängen von der Hardware-FPU-Leistung (NEON) ab. – Notlikethat
Großartig, danke für die Präzision! – VivienG
Ich denke, es steht für 'Hard-Float'. – Jite