我决定使用MinGW构建的项目的编译器设置。看来海湾合作委员会有一套非常庞大的控制警告的选项。用于GCC警告选项的用例-Wno-sign-compare,-Wno-type-limits和-Wno-logical-op
但我不明白的是为什么提供一个选项来禁用一些危险的警告,并且几乎不会造成任何滋扰。
-Wno-sign-compare的:禁用,警告时,当符号值转换为无符号 符号和无符号值之间的比较会产生不正确结果而进行警告。
-Wno型限制:禁用,警告如果比较是永远为真或假,由于数据类型的限制范围的警告,但不警告为常量表达式
- Wno-logical-op:禁用在表达式中警告可能使用逻辑运算符的警告。这包括在可能需要按位运算符的上下文中使用逻辑运算符
对于我来说,这些是真正有效的警告,我无法想象可以禁用它们的用例。我会很高兴,如果我能得到一些使用这种警告并不严重的用例,并修复它们使代码更改很困难。