2010-10-20 69 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