概述
gnu c compiler
流程
預處理,生成.i檔案(中間檔案,看不到)
編譯,生成.s檔案(中間檔案,看不到)
彙編,生成.o檔案
連結,生成可執行檔案
參數
-e:預處理
-s:預處理,編譯
-c:預處理,編譯,彙編
-o:預處理,編譯,彙編,連結
-g:生成調試資訊
-std=c99:支援c99标準
檔案
.c:c程式源代碼
.i:c程式預處理輸出,可被編譯
.h:c程式頭檔案
.s:彙編語言
.s:有c指令的彙編語言,彙編前需進行預處理
.a:靜态鍊庫
.so:動态鍊庫
指令
gcc main.c:編譯連結main.c(目前目錄生成a.out)
gcc main.c -o main.out:編譯連結main.c(目前目錄生成main.out)
gcc main.c -o ./out/main.out:編譯連結main.c(目前目錄下的/out目錄生成main.out)
gcc -c main.c:編譯main.c(生成main.o)
gcc main.o:連結main.o(生成a.out)
gcc main.o -o main.out:連結main.o(生成main.out)
gcc main.c libfunc.so -o app.out:将 main.c 和 libfunc.so 一起編譯成 app.out