我決定使用MinGW構建的項目的編譯器設置。看來海灣合作委員會有一套非常龐大的控制警告的選項。用於GCC警告選項的用例-Wno-sign-compare,-Wno-type-limits和-Wno-logical-op
但我不明白的是爲什麼提供一個選項來禁用一些危險的警告,並且幾乎不會造成任何滋擾。
-Wno-sign-compare的:禁用,警告時,當符號值轉換爲無符號 符號和無符號值之間的比較會產生不正確結果而進行警告。
-Wno型限制:禁用,警告如果比較是永遠爲真或假,由於數據類型的限制範圍的警告,但不警告爲常量表達式
- Wno-logical-op:禁用在表達式中警告可能使用邏輯運算符的警告。這包括在可能需要按位運算符的上下文中使用邏輯運算符
對於我來說,這些是真正有效的警告,我無法想象可以禁用它們的用例。我會很高興,如果我能得到一些使用這種警告並不嚴重的用例,並修復它們使代碼更改很困難。