Junior — Middle
Hogyan történik a forrásfájlok fordítási szakasza Linuxon egy futtatható bináris fájlba?
sobes.tech MI
Válasz az MI-től
Linuxban a forrásfájlok (például C vagy C++ nyelven) fordítása futtatható bináris fájlba általában több lépésen keresztül történik:
- Előfeldolgozás — a preprocessor direktíváinak (#include, #define stb.) feldolgozása, ennek eredményeként kibővített forráskód keletkezik.
- Fordítás — a kibővített forráskód fordítása assembler kódra.
- Assemblerelés — az assembler kód konvertálása objektumfájlba (.o), amely gépi kódot tartalmaz, de még nincs összekapcsolva más modulokkal.
- Linkelés — egy vagy több objektumfájl és könyvtár összekapcsolása egyetlen futtatható fájlba.
Gcc használatával például a fordítás és linkelés parancsa:
gcc main.c -o myprogram
Ebben a gcc automatikusan végrehajtja az összes lépést: előfeldolgozás, fordítás, assemblerelés és linkelés, és létrehozza a myprogram nevű futtatható fájlt.