gcc(gnu compiler collection,gnu編譯器套裝),是一套由 gnu 開發的程式語言編譯器。它是一套gnu編譯器套裝以 gpl 及 lgpl許可證所發行的自由軟體,也是 gnu 計畫的關鍵部分,亦是自由的類unix及蘋果電腦 mac os x 作業系統的標準編譯器。
2.1 編譯包含一下四個步驟:
1. 預處理(pre-processing)
2. 編譯(compiling)
3. 彙編(assembling)
4. 鏈結(linking)
2.2 編譯過程中涉及到的檔案字尾以及檔案型別如下:
.c: c語言源**檔案
.a: 由目標檔案構成的庫檔案
.c, .cc或.cxx: c++源**檔案
.h: 標頭檔案
.i: 已經預處理過的c源**檔案
.ii: 已經預處理過的c++源**檔案
.o: 編譯後的目標檔案
.s: 組合語言源**檔案
.s: 經過預編譯的組合語言源**檔案
2.3 整個編譯過程如圖2.1所示:
圖2.1
2.1 gcc命令格式如下:
gcc [options] [filenames]
2.2 options可選引數如下:
-o [output_filename]: 目標檔名
-c: 只編譯出.o
-g: 編譯帶有除錯資訊,gdb除錯用
-o: 優化
-o2: 更優化
-i [include_folder_path]: 將目標目錄加入gcc標準頭檔案目錄
注:#include<>: 從gcc標準頭檔案目錄尋找檔案,如/usr/include/
注:#include"": 當前目錄
-l [library_folder_path]: 加入庫檔案目錄路徑
-l [lib_name]: 引用庫檔案,路徑需要在預設庫路徑或-l新增
-static: 靜態庫鏈結檔案
-wall: 生成所有警告資訊
-w: 不生成任何警告資訊
-d: 相當於define
Linux的指令以及用法(1)GCC
1 gcc gcc是linux最流行的編譯系統。可以編譯c,c 等多種高階語言。用法 1 gcc 檔名 o 生成檔名。gcc hello.c o hello 將hello.c的檔案編譯成hello檔案。2 gcc e 檔名 o 生成檔名。注 e中e為大寫 gcc e hello.c o hello....
linux程式設計基礎 GCC程式編譯選項
1,o output filename 不加 o 預設 gcc filename 生成 a.out eg gcc hello.c hello 生成 a.out gcc o hello.c hello 生成 hello 2 c 只編譯 不連線成為可執行檔案 eg gcc c hello.c 生成 he...
程式設計工具 GCC基礎命令
假設源程式檔名為test.c 選項 e 用法 gcc e test.c o test.i 作用 將test.c預處理輸出test.i檔案。選項 s 用法 gcc s test.i 作用 將預處理輸出檔案test.i彙編成test.s檔案。選項 c 用法 gcc c test.s 作用 將彙編輸出檔案...