語法書 / AA 競程語法書 下冊 / 第十八單元 / 讓編譯器幫你抓錯:警告參數

18.2 讓編譯器幫你抓錯:警告參數

查錯最便宜的一步,其實發生在程式執行之前。編譯器在編譯時就看得出很多可疑寫法,只是預設不太愛講話;加上警告參數,它就會變成一位囉唆但可靠的隊友。在終端機編譯時直接加在指令裡:

g++ -O2 -Wall -Wextra -Wshadow main.cpp

指令裡的 -O2 是最佳化參數,本站 OJ 評測時同樣開著它。它除了讓程式跑得更快,還會讓編譯器把整份程式分析得更透徹——有些警告要開著最佳化才抓得到(第一個例子馬上就會看到),所以請把它跟警告參數綁在一起用。用 Code::Blocks 的話,在 Settings → Compiler... 裡把對應的警告項目和最佳化 -O2 一併打勾即可,效果相同。以下逐一介紹四個最值得開的參數——每個都配一段「真的會被抓到」的錯誤程式,警告訊息都是本站編譯器(GNU g++)的實際輸出。

登入後即可閱讀完整內容

語法書免費開放給所有 AACPOJ 帳號,註冊只要一分鐘。