【发布时间】:2018-07-12 02:11:18
【问题描述】:
我经常使用打开-Wall 标志的GCC(或clang)构建C(和C++)代码。现在我碰巧需要确保一个小型 C 项目,它可以在带有此标志的 Linux 上正常构建,也可以在带有 MSVC 的 Windows 上构建。
但是,如果我使用 -Wall 运行 MSVC,我会收到许多我认为相当虚假的警告,例如:
warning C4255: 'some_func': no function prototype given: converting '()' to '(void)'- `警告 C4820:“some_struct”:在数据成员“some_member”之后添加了“4”字节填充
等等。现在,我意识到我可以使用#pragma warning(disable:1234) 来抑制个别警告;但仍然:什么被认为是 C 代码与 MS Visual C++ 的编译器警告开关的常见、合理的组合,大致相当于 gcc/clang 的 -Wall 开关?
编辑:如果我问的是-Wall -Wextra,那就是this existing question。
注意:我使用的是 MSVC 2015,以防万一——但不是 IDE,只是编译器。
【问题讨论】:
标签: c visual-c++ compiler-warnings