linux下實現g 編譯鏈結c 原始檔和標頭檔案

2021-07-27 03:10:23 字數 968 閱讀 3113

#g++ -c ***.cpp -o ***

#./***

逐步編譯:

#g++ -c apcluster.cppapcluster.h //生成apcluster.o 中間檔案

#g++ -c example.cppapcluster.h  //生成example.o中間檔案

#g++ -o main apcluster.o example.o

makefile:

gnu的make很強大,它可以自動推導檔案以及檔案依賴關係後面的命令,上面編譯對應的makefile如下:

main: apcluster.oexample.o        //main為最終可執行檔案

g++ -o main apcluster.o example.o //或者g++apcluster.o example.o -omain應該也行

apcluster.o :apcluster.cppapcluster.h   //定義依賴關係

g++ -c apcluster.cppapcluster.h   //如何生成目標檔案的作業系統命令,一定要以乙個tab鍵作為開頭,

//-c只啟用預處理,編譯,和彙編,也就是他只把程式做成obj檔案*.o

example.o: example.cpp apcluster.h

g++ -c example.cppapcluster.h    可以不要,因為上句已經指明,會自動鏈結

clean:                             //定義makeclean指令

rm main apcluster.o example.o

我們可以把這個內容儲存在名字為「makefile」或「makefile」的檔案中,然後在該目錄下直接輸入命令「make」就可以生成執行檔案edit。如果要刪除執行檔案和所有的中間目標檔案,那麼,只要簡單地執行一下「make clean」就可以了。

Linux 環境下使用g 編譯C

下面是乙個儲存在檔案 helloworld.cpp 中乙個簡單的 c 程式的 helloworld.cpp include int main int argc,char argv 程式使用定義在標頭檔案 iostream 中的 cout,向標準輸出寫入乙個簡單的字串。該 可用以下命令編譯為可執行檔案...

linux下C程式的編譯鏈結

linux下c程式的編譯可以分為四個步驟,分別是預處理,編譯,彙編和鏈結。1.預編譯 首先預處理完成預替換 去注釋 標頭檔案按照路徑展開 以及條件編譯。建立乙個test.c檔案。裡面寫入注釋 巨集定義 標頭檔案 條件編譯。如下圖 使用的gcc命令是 gcc e test.c o test.i gcc...

Linux環境使用g 編譯C

以下述c 的編譯為例 helloworld.cpp include intmain int argc,char ar 該 可用以下命令編譯 g helloworld.cpp 編譯器 g 通過檢查命令列中指定的檔案的字尾名,可識別其為 c 源 檔案。編譯器預設的動作 編譯源 檔案生成物件檔案 obje...