Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ MSVC 2015/Wall有很多无用的信息_C++_Visual Studio_Visual Studio 2015 - Fatal编程技术网

C++ MSVC 2015/Wall有很多无用的信息

C++ MSVC 2015/Wall有很多无用的信息,c++,visual-studio,visual-studio-2015,C++,Visual Studio,Visual Studio 2015,即使我有一个空的程序来保存include字符串,即使我抑制了include周围的警告,我仍然会得到很多警告 复制: # CMakeLists.txt add_executable(main main.cpp) # All warnings, and treat as errors if(MSVC) set_target_properties(main PROPERTIES COMPILE_FLAGS "/Wall /WX") endif() 这是预期的吗?还是我做错了什么 我是否

即使我有一个空的程序来保存include字符串,即使我抑制了include周围的警告,我仍然会得到很多警告

复制:

# CMakeLists.txt

add_executable(main main.cpp)

# All warnings, and treat as errors
if(MSVC)
    set_target_properties(main PROPERTIES COMPILE_FLAGS "/Wall /WX")
endif()

这是预期的吗?还是我做错了什么

我是否应该选择要抑制的警告,并在我编写的每个文件中抑制它们


或者,我应该选择启用哪些警告吗?但这可能会成为一个冗长乏味的列表,在新的检查可用时,我必须保留该列表。

我查找了该警告,它将我指向通常被抑制的警告列表:

您可以查看该列表并对您不关心的警告进行全局抑制。我不知道如何进行全局抑制。但这一警告似乎毫无用处


找到了有关如何全局抑制警告的链接:。

我查找了该警告,它将我指向通常被抑制的警告列表:

您可以查看该列表并对您不关心的警告进行全局抑制。我不知道如何进行全局抑制。但这一警告似乎毫无用处



找到了有关如何全局抑制警告的链接:。

不要认为警告没有用处。实际上,修复所有这些问题可以提高代码的质量。他不是在开玩笑。在VS 2010中启动了他的代码,在
\Wall
中添加了另一块砖块,MSVC标准库中出现了数千条警告。
/Wall
有太多无用的警告,我个人认为它没有用。它“警告”一些无害的东西,比如在结构成员之间添加填充。真正地什么时候结构成员之间的隐式填充是编程错误?或者甚至是样式错误?@Mystical我希望/Wall警告都是无用的。然后我就可以使用/W4并感到快乐了。但事实证明/Wall还包括一些重要的检查,例如“类具有虚拟函数,但析构函数不是虚拟的”。Jeff,我使用的一个技巧是使用多个编译器。如果我只想清理代码的话,我发现带有学究的GCC是一个很好的扫帚。之后我会回去用正确的工具链为项目构建它。不要认为警告没有用。实际上,修复所有这些问题可以提高代码的质量。他不是在开玩笑。在VS 2010中启动了他的代码,在
\Wall
中添加了另一块砖块,MSVC标准库中出现了数千条警告。
/Wall
有太多无用的警告,我个人认为它没有用。它“警告”一些无害的东西,比如在结构成员之间添加填充。真正地什么时候结构成员之间的隐式填充是编程错误?或者甚至是样式错误?@Mystical我希望/Wall警告都是无用的。然后我就可以使用/W4并感到快乐了。但事实证明/Wall还包括一些重要的检查,例如“类具有虚拟函数,但析构函数不是虚拟的”。Jeff,我使用的一个技巧是使用多个编译器。如果我只想清理代码的话,我发现带有学究的GCC是一个很好的扫帚。之后我会回去用正确的工具链为项目构建它。我看到了那个页面,我想如果这些警告都不重要,那么我可以继续使用/W4。但事实证明,其中很多都是真正有用的。例如,检查“类具有虚拟函数,但析构函数不是虚拟的”在该列表中。这不起作用,即使我专门禁用了警告。例如。,4514@JeffM我认为任何编译器都会有可能没有用的警告。但是如果你觉得有些有用,就禁用那些不有用的。这是一项不常见的任务(也需要在编译器升级时完成)。@AnonMail是的,这看起来像是我必须要做的。我将从/Wall开始,然后cherry pick禁用我不关心的东西。我看到了那个页面,我想如果这些警告都不重要,那么我可以继续使用/W4。但事实证明,其中很多都是真正有用的。例如,检查“类具有虚拟函数,但析构函数不是虚拟的”在该列表中。这不起作用,即使我专门禁用了警告。例如。,4514@JeffM我认为任何编译器都会有可能没有用的警告。但是如果你觉得有些是有用的,就禁用那些不有用的。这是一项不常见的任务(也需要在编译器升级时完成)。@AnonMail是的,这看起来像是我必须要做的。我将从/Wall开始,然后选择我不关心的东西。
// main.cpp

#pragma warning(push, 0) // suppress warnings from dependencies
#include <string>
#pragma warning(pop)

int main()
{
}
main.cpp(8): warning C4710: 'int swprintf_s(wchar_t *const ,const std::size_t,const wchar_t *const ,...)': function not inlined