2010-10-20 91 views
1

我现在正在学习视觉工作室。如果我已经变成了集/Wall我会看到一个看似不健康的警告消息,尽管我的应用程序将编译得很好。标准库警告是否正常?

这是正常的吗?更改错误级别将停止消息。看起来好像它们都与C++ STL或其头文件相关 - 同样的事情?

如果我使用code :: blocks(GCC)构建程序,那么即使警告级别相同,也不会报告错误。

这是怎么回事?

更新: 视觉工作室/Wall输出:http://pastebin.com/FBGLd2Hb

视觉工作室/W4输出:http://pastebin.com/YuWKVS9G

的代码实际上是从Wrox的专业C++。 我可能错误地使用了警告这个词?

+3

我们想告诉你这些警告是否正常与否,但我们不能猜测** **什么这些警告是:) – ereOn 2010-10-20 08:09:54

+0

好点。用有关输出的链接更新。 – aLostMonkey 2010-10-20 08:17:49

+1

超过3000条警告?!这是疯了我会检查我的项目之一,看看我是否可以重现这一点。 – ereOn 2010-10-20 08:24:50

回答

4

与g ++ -Wall不打开所有警告,只是一个实用的子集。我怀疑与MSVC /Wall打开更多的警告比实际。 MSVC对警告非常热衷。

MSVC使用/W4表示警告级别较高。

您必须关闭MSVC 愚蠢的注意;你可以使用我的anti-MSVC-sillywarnings header

干杯&心连心,

+0

没有冒犯,但禁用一堆警告,但不知道他们提醒你的是什么似乎很**错误。有些警告可能确实是虚假的,但大多数时候它们表明存在真正的问题。 – ereOn 2010-10-20 08:12:16

+1

@ereOn:该文件关闭的警告很少表明真正的问题。如果他们这样做,那就是发生。然而,警告的负面影响是真实的。你是第一个认为任何这些警告都表明存在真正问题的人。不少人参与构建该清单。干杯&hth。, – 2010-10-20 08:23:58

+0

/W4几乎停止了一切。代码中直接显示的是我所了解的。 – aLostMonkey 2010-10-20 08:25:38