程式 g++ 是將 gcc 預設語言設為 c++ 的乙個特殊的版本,鏈結時它自動使用 c++ 標準庫而不用 c 標準庫。通過遵循原始碼的命名規範並指定對應庫的名字,用 gcc 來編譯鏈結 c++ 程式是可行的,如下:
gcc main.cpp -lstdc++
-o main
g++ helloworld.cpp
由於命令列中未指定可執行程式的檔名,編譯器採用預設的a.out
g++ helloworld.cpp -o helloworld
g++ runoob1.cpp runoob2.cpp -o runoob
g++
-g -wall -std=c++
11 main.cpp
選項
解釋-ansi
-c只編譯並生成目標檔案。
-dmacro
以字串"1"定義 macro 巨集。
-dmacro=defn
以字串"defn"定義 macro 巨集。
-e只執行 c 預編譯器。
-g生成除錯資訊。gnu 偵錯程式可利用該資訊。
-idirectory
指定額外的標頭檔案搜尋路徑directory。
-ldirectory
指定額外的函式庫搜尋路徑directory。
-llibrary
連線時搜尋指定的函式庫library。
-m486
針對 486 進行**優化。
-ofile 生成指定的輸出檔案。用在生成可執行檔案時。
-o0不進行優化處理。
-o或 -o1 優化生成**。
-o2進一步優化。
-o3比 -o2 更進一步優化,包括 inline 函式。
-shared
生成共享目標檔案。通常用在建立共享庫時。
-static
禁止使用共享連線。
-umacro
取消對 macro 巨集的定義。
-w不生成任何警告資訊。
-wall
生成所有警告資訊。
C 編譯連線總結(一) g
快速入門例子 g c a.cpp 編譯檔案,生成目標檔案 a.o g a.o o abc 連線 並重命名為可執行檔案 abc g c a.cpp o a 之後 g a 會儲存的,親驗 g a.cpp 編譯連線一起,生成a.out g a.cpp o hello 生成a.out並命名為hello 涉及...
C 學習筆記 分別編譯
分別編譯要點與引申 將常量的定義放在同乙個標頭檔案中 將型別的定義寫在標頭檔案中,最好不要把多個型別定義寫在同乙個標頭檔案中 禁止將全域性變數的定義寫進標頭檔案中 每乙個源程式檔案有效語句所在行最好控制在 50 500 行之間 程式的實際執行在呼叫 main 之前就開始進行了,在 main 結束以後...
Sqlite學習筆記 一 編譯安裝
sqlite簡介 編譯 安裝 拿到原始碼後,我們看到除了sqlite3.c原始檔,還有shell.c檔案。因為sqlite3.c只是乙個動態庫的原始檔,因此通過整合shell.c可以生成sqlite執行碼,簡單來說就是sqlite3的客戶端。1 編譯命令列管理工具 gcc shell.c sqlit...