1. 程式人生 > >Linux下C語言生成可執行文件的過程

Linux下C語言生成可執行文件的過程

代碼 內容 gcc 創建 inux 匯編代碼 機器 都是 inf

在當前目錄下創建一個C源文件並打開:

touch test.c
gedit test.c
直接編譯:
gcc test.c -o test

分步驟編譯:

1) 預處理
gcc -E test.c -o test.i
在當前目錄下會多出一個預處理結果文件 test.i,打開 test.i 可以看到,在 test.c 的基礎上把stdio.h和stdlib.h的內容插進去了。

2) 編譯為匯編代碼
gcc -S test.i -o test.s
其中-S參數是在編譯完成後退出,-o為指定文件名。

3) 匯編為目標文件
gcc -c test.s -o test.o
.o就是目標文件。目標文件與可執行文件類似,都是機器能夠識別的可執行代碼,但是由於還沒有鏈接,結構會稍有不同。

3) 鏈接並生成可執行文件
gcc test.o -o test

Linux下C語言生成可執行文件的過程