gcc編譯源文件一步到位的命令就是
$ gcc demo.c -o demo
實際上這一步包含了四步:
1.預處理
$ gcc -E demo.c demo.i
預處理功能主要包括宏定義,文件包含,條件編譯三部分。分別對應宏定義命令,文件包含命令,條件編譯命令三部分實現。預處理過程讀入源代碼,檢查包含預處理指令的語句和宏定義,並對源代碼進行響應的轉換。預處理過程還會刪除程序中的注釋和多余的空白字符。
預處理指令是以#號開頭的代碼行。#號必須是該行除了任何空白字符外的第一個字符。#後是指令關鍵字,在關鍵字和#號之間允許存在任意個數的空白字符。整行語句構成了一條預處理指令,該指令將在編譯器進行編譯之前對源代碼做某些轉換。 2.編譯(編譯為匯編代碼)$ gcc -S demo.i -o demo.s
3.匯編
$ gcc -c demo.s -o demo.o
gas匯編器將匯編代碼編譯為目標文件
4.鏈接
$ gcc demo.o demo
gcc連接器是gas提供的,負責將程序的目標文件與所需的所有附加的目標文件連接起來,最終生成可執行文件。附加的目標文件包括靜態連接庫和動態連接庫
多文件編譯:
$ gcc demo1.c demo2.c -o demo