Linux程式設計基礎1 GCC程式編譯

2021-06-10 19:51:33 字數 1140 閱讀 7040

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 作用 將彙編輸出檔案...