Gcc學習筆記

2021-07-28 11:38:09 字數 1258 閱讀 3576

1. 編譯c檔案生成可執行檔案(後續例子如無特殊說明均為c檔案):

gcc helloworld.c

2. 編譯c++檔案生成可執行檔案(用g++):

g++ helloworld.cpp

gcc -wall -g hello.c

4. 指定編譯後檔案的檔名(-o,不寫-o預設命名為a.out)

gcc -wall -g hello.c -o hello.exe

5. 編譯成彙編**(-s)

gcc -s hello.c -o hello.s

6. 使用編譯優化(-o1 -o2 -o3 數值越大效果越好)

gcc -o1 hello.c -o hello.exe

7. 編譯多個原始檔的程式(不用把.h檔案也寫進來)

gcc -wall -g hello1.c hello2.c -o hello.exe

8. 連線外部庫(-l +庫名)

gcc -wall -g cale.h -lm -o cale.exe
上例為連線數學庫libm.so,去掉字首lib,去掉字尾.so,剩下的就是庫名了(剩下了m),所以連線這個庫寫-lm

9. make的使用

當原始檔很多的時候可以使用make命令,在使用該命令之前,需要先在同資料夾下建立乙個makefile檔案,該檔案內容的格式為:

目標檔案:依賴檔案

命令

注:如果冒號下面接換行,必須輸入tab鍵(別的鍵不可以)。

下面是乙個makefile檔案的例子:

cc=gcc

cflags=-wall

hello.exe:hello1.o hello2.o

clean:

上面cc的意思是使用的編譯器(c++填寫g++),cflags如名字所示,就是後面跟的選項。

建立好makefile檔案之後,我們就可以使用make命令了,編譯命令:

make

簡單易懂。。。

使用makefile中的命令:

make clean
同樣簡單易懂。。。

gcc學習筆記

1 連線標頭檔案 gcc i usr openwim include fred.c 使用 i 標誌來包含儲存在子目錄或者非標準位置的中的標頭檔案。例如上邊語句指示編譯器不僅在標準位置,也在 usr openwim include 目錄中查詢程式 fred.c包含的標頭檔案。2 連線庫檔案 a 靜態庫...

gcc 學習筆記

gcc 編譯程式的過程 預處理 pre processing 編譯 compiling 彙編 assembling 鏈結 linking 選項名 作用 o 產生目標 i s o 可執行檔案等 c 通知gcc取消鏈結步驟,即編譯原始碼並在最後生成目標檔案 e 只執行c預編譯器 s 告訴編譯器產生組合語...

gcc學習筆記

預處理 gcc e hello.c o hello.i 輸出預處理後的檔案 編譯 gcc s hello.i o hello.s 輸出彙編結果 彙編 gcc c hello.s o hello.o 輸出二進位制檔案 鏈結 gcc hello.s o hello 輸出鏈結後的二進位制,沒有選項 wal...