編譯器 G 相關編譯命令

2021-08-17 17:38:03 字數 854 閱讀 6072

下面以test.cpp為例:

命令: g++ test.cpp

-o命令是輸出的意思,這樣就輸出了test.exe。

你要輸出test.exe的話可以用:g++ -o test.exe。

1.預處理,生成.i的檔案[預處理器cpp]

命令:g++ -e test.cpp > test.i   

功能:這一步主要做了這些事情:巨集的替換,還有注釋的消除,還有找到相關的庫檔案。用編輯器開啟test.i會發現有很多很多**,你只需要看最後部分就會發現,預處理做了巨集的替換,還有注釋的消除,可以理解為無關**的清除。

2.將預處理後的檔案不轉換成組合語言,生成檔案.s[編譯器egcs]

命令:g++ -s test.cpp

功能:會生成test.s檔案,.s檔案表示是彙編檔案,用編輯器開啟就都是彙編指令。
3.有彙編變為目標**(機器**)生成.o的檔案[彙編器as]

命令:g++ -c test.cpp 

功能:.o是gcc生成的目標檔案,除非你是做編譯器和聯結器除錯開發的,否則開啟這種.o沒有任何意義。二進位制機器碼一般人也讀不了。

4.連線目標**,生成可執行程式[鏈結器ld]

命令:g++ test.o -l f:\vs2008\vc

\include

\iostream

參考文獻

g++編譯

編譯器處理相關

一.預處理器 編譯器 彙編器 鏈結器 預處理器會處理相關的預處理指令,一般是以 開頭的指令。如 include xx.h define等。編譯器把對應的 cpp翻譯成 s檔案 組合語言 彙編器則處理 s生成對應的 o檔案 obj目標檔案 最後鏈結器把所有的 o檔案鏈結成乙個可執行檔案 exe 1.部...

編譯器相關問答

1 編譯器編譯的時候,預設到 找標頭檔案,如果不在怎麼指定編譯器到 找標頭檔案?1 如果標頭檔案用 引用,則預設到 usr include或 usr local include下找,交叉編譯器則在對應的路徑的子目錄usr include下找 2 如果標頭檔案用 引用,則先到當前目錄下找標頭檔案,如果...

UNIX LINIUX編譯器相關

標準 unix程式設計環境和c程式語言標準化.標準化有多種,例如iso c制定的.unix標準不同,同它相關的或者能夠支援的標準c庫也不完全相同.例如關鍵字,標頭檔案 及其相關的功能 系統介面 標頭檔案及定義,實用程式等等,有些標準有,有些沒有.unix標準有多種,實現也有多種.iso c的標頭檔案...