
圖片.png
上術(shù)過程分解為4個(gè)步驟:預(yù)處理、編譯、匯編、鏈接
1、預(yù)編譯命令:
處理‘#’命令
gcc -E hello.c -o hello.i或cpp hello.c > hello.i
2、編譯:
把預(yù)處理完的文件進(jìn)行一系列詞法分析、語法分析、語義分析及優(yōu)化后產(chǎn)生相應(yīng)的匯編代碼文件。
gcc -S hello.i -o hello.s
將預(yù)編譯和編譯兩個(gè)步驟合成一個(gè):
/usr/lib/gcc/i486-linux-gnu/4.1/ccl hello.c或gcc -S hello.c -o hello.s
3、匯編:
as hello.s -o hello.o或gcc -c hello.s -o hello.o
三個(gè)步驟合:gcc -c hello.c -o hello.o
鏈接過程:
地址和空間分配、符號(hào)決議、重定位