天天看點

[C] gcc

概述

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