gcc編譯器
gcc是自由軟體基金會所開發之編譯器,早期全名為GNU C Compiler,不過在支援了更多程式語言如Ada、C++、Pascal之後,改名為GNU Compiler Collection。
這一個章節將介紹如何在終端機下編譯一個C語言檔案,首先我們先在workspace中使用vim建立一個叫做hello_world.c的的檔案
程式碼
#include "stdio.h"
int main(void)
{
printf("Hello world\n");
return 0;
}
檔案儲存之後可以透過以下指令編譯檔案:
gcc hello_world.c
由於沒有指定輸出格式,編譯器會依照預設將檔案命名為a.out
當然,你也可以指定你想要的檔名:
gcc -o hello hello_world.c
其中-o為gcc之輸出參數,參數後即可指定輸出檔名
詳細用法
指令:
gcc [option] filename
option為附加選項、filename原始檔案名稱,如:gcc -g -o test source.c
常用選項
-c : 只做編譯(不做連結)
-S : 輸出組譯碼
-E : 將預處理結果顯示
-o filename : 指定輸出檔名(-O後綴的就是輸出的檔名)
-ansi : 要求依據ansi c標準
-Dmacro : 使定義巨集(marco)為有效
-Dmarco=defn : 使定義巨集(marco)為defn
-Wa,option : 將選項(option)傳給組譯器
-wl,option : 將選項(option)傳給連結器
-I : 追加include檔案的搜尋路徑
-L : 追加library檔案的搜尋路徑
-l : 指定連結的函式庫
-Wall : 顯示所有的警告訊息
-g : 編入除錯資訊(GDB除錯一定要加,以顯示變數名稱一類資料)
-O2 : 做最佳化