gcc命令總結

2021-06-26 10:23:23 字數 1307 閱讀 5120

1.gcc

支援的一些原始檔的字尾

.c   c

語言源**檔案

.a 是由目標檔案構成的檔案庫檔案

.c .cc

或.cxx

是c++

源**檔案

.h 是程式所包含的標頭檔案

.i是已經預處理過的

c源**檔案

.ii 

是已經預處理的

c++源**檔案

.m 是

objective-c

源**檔案

.o 是編譯後的目標檔案

.s 是彙編後語言源**檔案

.s 是經過預處理的組合語言源**檔案

檢錯gcc -pedantic filename.c -o filename

gcc -werror filename.c -o filename

庫檔案連線

1.首先應先找到第三方函式庫的路徑

2.編譯成可執行檔案

gcc -c -i/usr/dev/mysql/include filename.c -o filename

3.鏈結

最後我們把所有目標檔案鏈結成可執行檔案

gcc -l/usr/dev/mysql/lib -imysqlclient filename.c -o filename

linux

下的庫檔案分為兩大類,分別是動態鏈結庫(通常以

.so結尾)和靜態鏈結庫(通常以

.a結尾),二者的區別僅在於程式執行時所需的**是在執行時動態載入的,還是在編譯時靜態載入的。

強制鏈結時使用靜態鏈結庫

gcc -l /usr/dev/mysql/lib -static -imysqlclient filename.c -o filename

ld會去找

gcc命令中的引數

-l再找

gcc的環境變數

library_path

再找內定目錄、

lib/usr/lib/usr/local/lib

這是當初

compile gcc

時寫在程式內的

編譯目標**時指定的動態庫搜尋路徑

環境變數

ld_library_path

指定的動態庫搜尋路徑

配置檔案

/etc/ld.so.conf

中指定的動態庫搜尋路徑

預設的動態庫搜尋路徑

/lib

預設的動態庫搜尋路徑

/usr/lib

有關環境變數:

library_path

ld_library_path

GCC命令詳解

1 gcc包含的c c 編譯器 gcc cc c g gcc和cc是一樣的,c 和g 是一樣的,一般c程式就用gcc編譯,c 程式就用g 編譯 2 gcc的基本用法 gcc test.c這樣將編譯出乙個名為a.out的程式 gcc test.c o test這樣將編譯出乙個名為test的程式 o引數...

gcc編譯命令

一 gcc的編譯過程分為四個過程 1.預處理 也稱預編譯,preprocessing 生成.i的檔案 2.編譯 compilation 將預處理後的檔案轉換成組合語言,生成.s檔案 3.彙編 assembly 彙編變為目標 機器 生成.o的檔案 4.鏈結 linking 連線目標 生成可執行程式 二...

詳解命令 GCC

gcc 選項 引數 選項 o 指定生成的輸出檔案 e 僅執行編譯預處理 s 將c 轉換為彙編 wall 顯示警告資訊 c 僅執行編譯操作,不進行連線操作。引數 c原始檔 指定c語言源 檔案。例項 常用編譯命令選項 假設源程式檔名為test.c 無選項編譯鏈結 gcc test.c 將test.c預處...