gcc簡單使用(編譯)

2021-08-13 01:46:46 字數 958 閱讀 8475

以 test.c 為例

1、一步到位的編譯時:

gcc test.c -o test

實際上,上面經過了四個階段進行的,即預處理(也稱預編譯,preprocessing)、編譯(compilation)、彙編(assembly)和鏈結(linking)。

2.1 預處理

gcc -e test.c -o test.i  或  gcc -e test.c 

test.i檔案中存放著經過預處理的之後的**。

gcc -e 選項可以讓編譯器在預處理候停止,並輸出預處理結果,本次則是將標頭檔案的內容放入test.c中。

2.2 編譯(為彙編**)

預處理候,可直接對生成的test.i 生成彙編**:

gcc -s test.i -o test.s

gcc -s 選項表示在編譯期間生成彙編**後停止

2.3 彙編(assembly)

對於彙編**test.s,gas彙編器負責將其編譯為目標檔案:

gcc -c test.s -o test.o

2.4鏈結(linking)

gcc的鏈結器是有gas提供的,負責將程式的目標檔案與所需的所有附加的目標檔案連線起來,最終生成可執行檔案。附加的木匾檔案包括靜態鏈結庫和動態鏈結庫。對於上一小節中生成的test.o,將其與c=c標準輸入輸出庫進行連線,最終生成程式test。

gcc test.o -o test

使用gcc編譯簡單的程式

使用虛擬機器軟體vmware,環境為 ubuntu18.04。terminal終端編寫 如下 mkdir film1 新建資料夾film1 cd film1 進入film1資料夾 vi sub1.c 新建.c檔案 vi sub2.c vi main.c sub1.c內容如下 float x2x in...

GCC編譯簡單範例

原始檔為hello.c 無選項編譯鏈結 gcc hello.c將hello.c預處理 彙編 編譯並鏈結形成可執行檔案。這裡未指定輸出檔案,預設輸出為a.out 選項 o o選項用來指定輸出檔案的檔名 gcc hello.c o hello選項 e gcc e hello.c o hello.i將he...

GCC編譯簡單流程 彙總

一 過程 預處理編譯 彙編 鏈結。1 預處理 gcc e filename.c 對應的後台工具為cpp 預處理是c語言程式從源 變成可執行程式的第一步,主要是c語言編譯器對各種預處理命令進行處理,包括標頭檔案的包含 巨集定義的擴充套件 條件編譯的選擇等。cpp the c preprocessor,...