gcc命令中引數c和o混合使用的詳解

2022-03-26 21:34:05 字數 555 閱讀 5387

gcc -c a.c  編譯成目標檔案a.o 

gcc -o a a.o 生成執行檔案a.exe

gcc a.c 生成執行檔案a.exe

gcc -o a -c a.c 編譯成目標檔案a

gcc -o a a.c 生成執行檔案a.exe

在a.c中引用test.c中的乙個函式後:

gcc -c test.c 編譯成目標檔案test.o

gcc -c a.c 編譯成目標檔案a.o

gcc -o a test.o a.o 生成執行檔案a.exe

gcc -o a test.o a.c 生成執行檔案a.exe

gcc -o a test.c a.c 生成執行檔案a.exe

gcc -o a test.o a.c 生成執行檔案a.exe

gdb進行除錯的是可執行檔案。

總結:只要引數中有

-c,總是生成目標檔案;只要引數中無-c而只有-o,則總是生成執行檔案。

**自:

gcc編譯選項 o和 c介紹

一 選項 o 1 點睛 選項 o用於指定要生成的結果檔案,後面跟的就是結果檔案名字。o是output的意思,不是目標的意思。結果檔案可能是預處理檔案 彙編檔案 目標檔案或者最終可執行檔案。2 示例 gcc s test.i o test.s s 說明只進行到編譯階段 生成彙編檔案test.s3 示例...

c和c 混合使用

我們編寫 經常需要c和c 混合使用,為了使 c 和 c 保持互相相容的過程呼叫介面,需要,為了簡化,從而定義了兩個巨集方面我們使用 1.在 c 裡加上 extern c 作為符號宣告的一部分。2.begin decls 和 end decls 在c語言 中標頭檔案中,充斥著下面的 片段 begin ...

混合使用C和C

legacy 參考最近在看專案 經常看到header file中,開頭 ifdef cplusplus extern c endif cplusplus 中間包裹 includes,typedefs,以及function prototypes。不懂就要問,去查了下,發現這是為了告知編譯器,以c語言的...