3 回答

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊
這是我用于C ++代碼的一組額外的偏執(zhí)標(biāo)志:
-g -O -Wall -Weffc++ -pedantic \
-pedantic-errors -Wextra -Waggregate-return -Wcast-align \
-Wcast-qual -Wchar-subscripts -Wcomment -Wconversion \
-Wdisabled-optimization \
-Werror -Wfloat-equal -Wformat -Wformat=2 \
-Wformat-nonliteral -Wformat-security \
-Wformat-y2k \
-Wimplicit -Wimport -Winit-self -Winline \
-Winvalid-pch \
-Wunsafe-loop-optimizations -Wlong-long -Wmissing-braces \
-Wmissing-field-initializers -Wmissing-format-attribute \
-Wmissing-include-dirs -Wmissing-noreturn \
-Wpacked -Wpadded -Wparentheses -Wpointer-arith \
-Wredundant-decls -Wreturn-type \
-Wsequence-point -Wshadow -Wsign-compare -Wstack-protector \
-Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default \
-Wswitch-enum -Wtrigraphs -Wuninitialized \
-Wunknown-pragmas -Wunreachable-code -Wunused \
-Wunused-function -Wunused-label -Wunused-parameter \
-Wunused-value -Wunused-variable -Wvariadic-macros \
-Wvolatile-register-var -Wwrite-strings
那應(yīng)該給你一些入門的知識(shí)。根據(jù)項(xiàng)目的不同,您可能需要將其調(diào)低以免看到來(lái)自第三方庫(kù)的警告(通常對(duì)于免于警告的警告是很粗心的。)例如,Boost向量/矩陣代碼會(huì)使g ++發(fā)出很多的噪音。
處理這種情況的一種更好的方法是在g ++周圍編寫(xiě)包裝程序,該包裝程序仍然使用已調(diào)整到最大警告的警告,但允許禁止顯示特定文件/行號(hào)的警告。我很久以前就寫(xiě)過(guò)這樣的工具,一旦有時(shí)間清理它就會(huì)發(fā)布它。

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個(gè)贊
我相信VC也支持
#pragma message ("note to self")
但是隨著系統(tǒng)的發(fā)展和壯大,您需要每晚進(jìn)行構(gòu)建,同時(shí)有30位開(kāi)發(fā)人員在工作,因此花數(shù)天時(shí)間才能閱讀完所有筆記,甚至在閱讀筆記并最終在無(wú)法跟上壓力并不得不辭職的壓力下休息...
確實(shí)沒(méi)有,如果允許的話,警告的數(shù)量會(huì)迅速增加,并且您將無(wú)法發(fā)現(xiàn)真正重要的警告(未初始化的變量,此指針在構(gòu)造函數(shù)中使用,...)。
這就是為什么我嘗試將警告視為錯(cuò)誤:大多數(shù)情況下,編譯器正確地警告我,如果不是,我將其記錄在代碼中并添加前綴
#pragma warning ( push )
#pragma warning ( 4191 : disable )
// violent code, properly documented
#pragma warning ( pop )
我剛剛讀到它們也有warning ( N : suppress )實(shí)用性。
- 3 回答
- 0 關(guān)注
- 1134 瀏覽
添加回答
舉報(bào)