編譯器gcc

由自由軟體基金會發布,gcc是基於* nix開發的C編譯器通常透過命令列操作,gcc常常跟*nix的安裝一起派發,所以如果你有執行Unix或是Linux變種你可能已經有安裝這個程式了,你可以藉著輸入下列命令在原始碼程式檔案上調用gcc

 檔案名稱
gcc預設的可執行輸出是”a.out”,你可以輸入”./a.out”來執行程式,也可以在命令列使用下列命令來指定可執行檔案的名稱

-o 輸出檔案

,就像下面的例子這樣:

gcc 檔案名稱 -o 輸出檔案

盡早捕捉問題

為了編譯時可以啟用所有的警告以及可以產生ANSI C相容的程式碼,我建議使用這些旗標

-Wall -ansi

你也可以參閱編譯器警告的值

如果你想要編譯器處理警告成為錯誤–亦即你不會得到執行檔,你可以使用 -Werror旗標,這可以確定你不會錯過任何的錯誤。

預備好GDB的程式碼

如果你想要預備你的執行檔可以使用GDB,請加入-g旗標。

gcc 檔案名稱 -g -o 輸出檔案

這樣可以在執行檔中加入額外的程式碼來允許GDB給你詳細的除錯資訊,允許GDB找出變數名稱跟列出原始碼。

數學函式庫

如果你需要使用數學函式庫的函式(通常函式像sin 或 sqrt來自 math.h),那麼你需要明確地連結有-l旗標跟函式庫’m’的函式庫:

gcc 檔案名稱 -o 輸出檔案 -lm

注意在C++裡面不需使用這個旗標。

想瞭解更多

如果你是用*nix系統,你也可以輸入下列命令來檢視其他的gcc命令列選項

man gcc

建構動態連結程式庫

如果你想要學習如何在Linux上使用GCC建構動態連結程式庫,檢視這篇如何在Linux上使用建構動態連結程式庫文章。

Print Friendly, PDF & Email
馬上成為工作達人的Fans

About ㄚ琪

工作達人Fun Taiwan的創辦者及總編,可以在這裡更認識他。

2 comments

發表迴響

你的電子郵件位址並不會被公開。 Required fields are marked *

*

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

Scroll To Top