gcc 等效于 VC++ 警告 C4018: 有符号/无符号不匹配

Posted

技术标签:

【中文标题】gcc 等效于 VC++ 警告 C4018: 有符号/无符号不匹配【英文标题】:gcc equivalent of VC++ warning C4018: signed/unsigned mismatch 【发布时间】:2009-02-18 07:14:07 【问题描述】:

是否存在与 VC++ 警告 C4018:有符号/无符号不匹配的 gcc 等效项?我们在运行 /WX 的 Windows 上自动构建,我希望在 Linux 上构建时也能捕捉到这些警告。

【问题讨论】:

【参考方案1】:

-Wsign-compare

【讨论】:

不幸的是,GCC 在很多 Visual Studio 没有发出警告的地方发出警告,所以通过启用这个警告,我得到了一大堆我必须修复的新警告。【参考方案2】:

最佳做法是使用-Wall 进行编译,它会为您提供所需的大部分警告。

g++ -c -Wall code.cpp -o code.o

大多数项目中所做的事情,实际上它可以实现您想要的警告。

【讨论】:

你忘了 -Wextra -pedantic -Wshadow 在我的 gcc (4.8.5) 版本中,-Wall 启用 -Wsign-compare

以上是关于gcc 等效于 VC++ 警告 C4018: 有符号/无符号不匹配的主要内容,如果未能解决你的问题,请参考以下文章

属性警告未使用的结果等效于视觉 c

Visual C++ 等效于 GCC 实验性并行 for_each?

GCC 常用编译选项

VC++ cl编译器的gdb等效?

等效于 Visual C++ 中 gcc 的 __attribute__ 格式

IBM XL C/C++ 等效于#pragma GCC 优化