Linux系統下gcc命令使用詳解

2022-09-20 11:21:12 字數 1304 閱讀 3072

目錄

1.gcc的安裝(以ubuntu為例) sudo apt-get install build-essential

安裝完後可以通過 gcc --version 檢視版本。

讓我們在通過gcc編譯可執行檔案的過程中掌握其基礎應用。

準備: 先在當前目錄下 使用vim新建乙個.c檔案 例如 666.c

$ vim 666.c

(vim的使用可在我的另一篇部落格有詳細的敘述,這裡不多在贅述)

插入一段**。

#include

main()

}(每次我們用 cat 檢視)

1.預處理通過對巨集定義(像#define)進行展開,對頭檔案(像 stdio.h)進行展開,對條件進行(像ifdef)編譯,展開所有巨集,刪除所有注釋(像"//").預處理cpp把源**,標頭檔案預編成乙個.i檔案。(注意這時並不檢查語法,所以即使有語法錯誤也不會報錯。)

2.命令:

$ gcc -e (源檔名) -o (預處理檔名)

或者:$ gcc (源檔名) > (預處理檔名)

例如按666.c 來說,預處理時可以是 :

gcc -ewww.cppcns.com 666.c -o 666.i

也可以是 gcc 666.c > 666.i

1.編譯也就是檢查語法是否錯誤,將預處理過的檔案編譯成彙編檔案。

2.命令:

$ gcc -s (原始檔) -o (彙編檔案)

例如 gcc -s 666.i -o 666.s

www.cppcns.com1. 彙編也就是將彙編檔案生成目標檔案(二進位制檔案)通過彙編,文字zbvsnntiy**變成了二進位制**。(二進位制**檔案以.o為字尾名)。

2.命令:

$ gcc -c (彙編檔案) -o (目標檔案)

例如 gcc -c 666.s -o 666.o

(這時候因為是二進位制檔案了,所以會亂碼)

1. 鏈結找到依賴的庫檔案(靜態與動態),將目標檔案鏈結為可執行程式。

$程式設計客棧 gcc -c [目標檔案] -o [可執行程式] -l[動態庫名]

假如沒有動態庫的話(一般)

直接$ gcc -c [目標檔案] -o [可執行程式]

例如 gcc -c 666.o -o 666

此時會生成可執行程式 666

如果想執行使用該命令:

$ ./可執行程式

其中./是在當前目錄下的意思。

例如 ./666

(注意:在一般我們使用時 如果使用 gcc 可執行檔名,會預設生成a.out 可執行檔案,這時我們直接執行它時用 ./a.out )

linux下gcc命令筆記

首先介紹一下gcc各種引數的含義 o 指定生成的輸出檔案 e 僅執行編譯預處理 s 將c 轉換為彙編 wall 顯示警告資訊 c 僅執行編譯操作,不進行連線操作。1 gcc c fpic c 生成與位置無關的 o 檔案 目標檔案 fpic表明使用位址無關 2 gcc shared wl o libm...

linux 下gcc的使用

在linux系統中,可執行檔案沒有統一的字尾,系統從檔案的屬性來區分可執行檔案和不可執行檔案。而gcc則通過字尾來區別輸入檔案的類別,下面介紹gcc所遵循的部分約定規則。c為字尾的檔案,c語言源 檔案 a為字尾的檔案,是由目標檔案構成的庫檔案 c,cc或.cxx 為字尾的檔案,是c 源 檔案 h為字...

linux 下gcc的使用

在linux系統中,可執行檔案沒有統一的字尾,系統從檔案的屬性來區分可執行檔案和不可執行檔案。而gcc則通過字尾來區別輸入檔案的類別,下面介紹gcc所遵循的部分約定規則。c為字尾的檔案,c語言源 檔案 a為字尾的檔案,是由目標檔案構成的庫檔案 c,cc或.cxx 為字尾的檔案,是c 源 檔案 h為字...