Junior — Middle
Ako sa vykonáva proces krížovej kompilácie pre rôzne cieľové platformy?
sobes.tech AI
Odpoveď od AI
Kros-kompilácia je proces kompilácie zdrojového kódu na jednej platforme (hostiteľskej) s cieľom jeho spustenia na inej (cieľovej). Pre rôzne cieľové platformy sa zvyčajne používa špecializovaný kros-kompilátor, ktorý pozná architektúru a vlastnosti cieľového systému.
Proces zahŕňa nasledujúce kroky:
- Konfigurácia kros-kompilátora — vyberie sa kompilátor podporujúci cieľovú architektúru (napríklad arm-linux-gnueabi pre ARM).
- Konfigurácia prostredia zostavovania — nastaví sa cesta k knižniciam a hlavičkovým súborom cieľovej platformy.
- Kompilácia s určením cieľovej platformy — v príkazovom riadku alebo v zostavovacích skriptoch sa nastavujú vlajky označujúce cieľ.
Príklad pre Android NDK (kros-kompilácia C/C++ kódu pre Android):
$ $NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=armv7a-linux-androideabi16 -c hello.c -o hello.o
Takto je zdrojový kód kompilovaný na hostiteľovi, ale vytvára sa binárny súbor, ktorý bude fungovať na cieľovej platforme.