GNU C 程式編譯

2021-05-26 10:03:07 字數 812 閱讀 7614

警告和錯誤選項:

g++ -wall -w atest.cpp

g++ -w welcome.cpp    讓編譯器不報告任何警告

也可以開啟特定警告。乙個好的選項是-wreturn-type,讓編譯器警告函式宣告返回值但沒有包括return語句。-wcomment表示開始開始說明符在另乙個c語言形式的說明內。

-werror選項使警告變成錯誤,不生成完成的可執行**檔案,但仍然在訊息中顯示「warning」字樣

可移植性選項:

-wtraditional選項對非傳統結構或ansi c++和ansi c中不允許的結構發出警告。如果要讓編譯器把所有非傳統結構當作錯誤,則指定        -traditional 而不帶大寫w,如果程式用這個命令進行編譯,則通常能在其他ansi c++系統上編譯。

-pedantic 在程式使用gnu特定特性時會發出警告。利用這個警告,程式使用其他編譯器可能不認識的gnu特性時會發出警告

-ansi 這時編譯器只接受ansi定義的結構

中間編譯:

-e  預處理之後停止,不編譯

-s  編譯之後停止,不彙編

-c  彙編之後停止,不鏈結

要檢查編譯過程中間階段發出的所有命令,用-v選項可以顯示每個中間編譯器命令,還可以顯示預處理、編譯、彙編、鏈結期間發生的所有檔案引用。如果只要檢查編譯器的命令,合併-v和-fsyntax-only選項,檢查程式源**的語法。-fsyntax-only選項也可以單獨瀏覽編譯器產生的警告和錯誤資訊,由於不產生實際輸出,用這個命令編譯時速度更快。

在linux下編譯遇到 GNUC

在linux下編譯遇到 gnuc prereq編譯錯誤的解決方法 使用linux編譯除錯,今天嘗試編譯發現如下錯誤 error missing binary operator before token begin decls does not name a type 第乙個錯誤位置為系統的strin...

GNU C函式統計

我是根據gnu c文件的附錄b來統計的 file usr share doc glibc doc html libc 36.html 統計結果如下 1 iso amend1 1 sun 1 sunos 1 unknown 1 vtimes.h 1 xopen 1 xpg4 2 bsd svid 2 ...

GNU C 的復合語句

gnu c把包含在括號中的復合語句看作是乙個表示式。這樣就允許你在表示式中使用迴圈 switch語句以及區域性變數。讓我們回憶一下,復合語句是用大括號括起來的一組表示式,在這種構造之下,大括號外面要有一對圓括號。例如 就是乙個合法的求foo 的絕對值的表示式 雖然比必要的複雜一點 復合語句的最後必須...