今天在看乙個makefile時看到了gcc -w -wall
…這句,不明其理,專門檢視了gcc的使用手冊。
-w
的意思是關閉編譯時的警告,也就是編譯後不顯示任何warning,因為有時在編譯之後編譯器會顯示一些例如資料轉換之類的警告,這些警告是我們平時可以忽略的。
-wall
選項意思是編譯後顯示所有警告。
-w
選項類似-wall
,會顯示警告,但是只顯示編譯器認為會出現錯誤的警告。
在編譯一些專案的時候可以-w和-wall選項一起使用。
舉個例子:
#include void main()
直接編譯
gcc -o test_w_wall testwwall.c
只顯示這乙個警告,下面使用-w選項。
gcc -w -o test_w_wall testwwall.c
不會顯示任何警告,直接編譯成功。
gcc -wall -o test_w_wall testwwall.c
顯示了所有的警告,比之前不使用任何選項多出了變數a未使用這個警告,也多出了main函式的返回值不是int型。
gcc -w -o test_w_wall testwwall.c
只顯示了沒有返回值的main函式不應該有return乙個值這個警告。
gcc -w -wall test_w_wall testwwall.c
比單獨使用-w多出了變數為使用這個警告,比-wall選項少了乙個看起來重複的main函式返回值不是int這個警告。 GCC編譯鏈結時選項
2.3 gcc 鏈結庫檔案的使用 在 linux 下開發軟體時,完全不使用第三方函式庫的情況是比較少見的,通常來講都需要借助乙個或多個函式庫的支援才能夠完成相應的功能。從程式設計師的角度看,函式庫實際上就是一些標頭檔案 h 和庫檔案 so 或者 a 的集合。雖然 linux 下的大多數函式都預設將標...
GCC編譯選項
gcc g 在執行編譯工作的時候,總共需要4步 1.預處理,生成.i的檔案 預處理器cpp 2.將預處理後的檔案不轉換成組合語言,生成檔案.s 編譯器egcs 3.有彙編變為目標 機器 生成.o的檔案 彙編器as 4.連線目標 生成可執行程式 鏈結器ld 引數詳解 c 只啟用預處理,編譯,和彙編,也...
gcc 編譯選項
gcc 編譯選項,自己翻譯的.gcc 編譯選項,自己翻譯的.o 設定輸出檔名 c 只編譯,不連線.e 只做預編譯.pipe 在多個編譯過程之間使用管道.version 顯示版本.static 靜態連線.ansi c 模式下支援所有 iso c90 標準的 c 程式,c 模式下去除對 gnu c 擴充...