今天在看乙個makefile時看到了gcc -w -wall....這句,不明其理,專門檢視了gcc的使用手冊。
-w的意思是關閉編譯時的警告,也就是編譯後不顯示任何warning,因為有時在編譯之後編譯器會顯示一些例如資料轉換之類的警告,這些警告是我們平時可以忽略的。
-wall選項意思是編譯後顯示所有警告。
-w選項類似-wall,會顯示警告,但是只顯示編譯器認為會出現錯誤的警告。
在編譯一些專案的時候可以-w和-wall選項一起使用。
舉個例子:
[cpp]view plain
copy
#include
void
main()
直接編譯
只顯示這乙個警告,下面使用-w選項。
gcc -w -o test_w_wall testwwall.c
不會顯示任何警告,直接編譯成功。
顯示了所有的警告,比之前不使用任何選項多出了變數a未使用這個警告,也多出了main函式的返回值不是int型。
只顯示了沒有返回值的main函式不應該有return乙個值這個警告。
比單獨使用-w多出了變數為使用這個警告,比-wall選項少了乙個看起來重複的main函式返回值不是int這個警告。
之前看了一篇國外程式設計師寫的部落格,說編譯時不使用-w -wall選項的是stupid的,所以編譯時還是盡量帶上吧。
gcc中的 w W和 Wall選項
今天在看乙個makefile時看到了gcc w wall.這句,不明其理,專門檢視了gcc的使用手冊。w的意思是關閉編譯時的警告,也就是編譯後不顯示任何warning,因為有時在編譯之後編譯器會顯示一些例如資料轉換之類的警告,這些警告是我們平時可以忽略的。wall選項意思是編譯後顯示所有警告。w選項...
GCC中的pie和fpie選項
gcc中的pie和fpie選項 position independent executable是binutils,glibc和gcc的乙個功能,能用來建立介於共享庫和通常可執行 之間的 能像共享庫一樣可重分配位址的程式,這種程式必須連線到scrt1.o。標準的可執行程式需要固定的位址,並且只有被裝載...
gcc中的 D選項
有時候我們想在 c 原始檔中使用 makefile 中定義的某些變數,根據變數的取值做出不同的處理,比如 debug 開關 版本資訊等,這時候我們可以通過 gcc 的 d 選項來滿足這一需求,它等同於在 c 檔案中通過 define 語句定義乙個巨集。比如,我們可以在 makefile 中定義以下變...