3
A
回答
2
只要你理解他人編寫的代碼樣本可能會導致警告與-Wall
,那麼,它的使用,因爲它可以讓你在編寫代碼的習慣,這是免費的一個很好的標誌編譯器可能識別的任何潛在灰色區域。
-pedantic
另一方面,是一個棘手的情況。以下是GCC 4.4.4聯機手冊的說明:
發出所有嚴格的ISO C和ISO C++要求的警告;拒絕所有使用禁止擴展的程序,以及其他一些不遵循ISO C和ISO C++的程序。對於ISO C,遵循由所使用的任何-std選項指定的ISO C標準版本。
有效的ISO C和ISO C++程序應該在使用或不使用此選項的情況下正確編譯(儘管極少數將需要指定ISO C所需版本的-ansi或-std選項)。但是,如果沒有這個選項,也支持某些GNU擴展和傳統的C和C++特性。用 這個選項,它們被拒絕。
-pedantic不會導致使用名稱以
__
開頭和結尾的替代關鍵字的警告消息。在 後跟「__
分機號__
」也禁用了迂腐警告。但是,只有系統頭文件應該使用這些轉義路由;應用程序應該避免 他們。一些用戶嘗試使用-pedantic來檢查程序是否符合嚴格的ISO C標準。他們很快就發現它沒有達到他們想要的效果:它發現了一些非ISO實踐,但不是全部 - 只有那些ISO C要求診斷的實體,以及其他一些已經添加了診斷的實踐。
報告任何不符合ISO C的功能在某些情況下可能會有用,但需要大量的額外工作,並且會與pedantic完全不同。我們不打算在不久的將來支持這種功能。
1
不完全是一個答案,但還有的-Weffc++
標誌發出警告,即違反C++有效(該書由斯科特·邁耶)的指導方針結構。
雖然這些準則是好的,但它們也可能過於嚴格,例如。 STL頭文件將發出警告。
相關問題
- 1. 我應該什麼時候開始學習Qt?
- 2. 我應該先學習C#還是Java?
- 3. 我應該學習C++還是ASM?
- 4. 我應該學習C#還是Java?
- 5. 在學習Ajax之前,我應該學習Xml和Javascript嗎?
- 6. 在開始使用流星之前,我應該學習node.js嗎?
- 7. 我應該學習XUL嗎?
- 8. 我應該學習NHaml嗎?
- 9. 我應該學習Ruby 1.8還是1.9?
- 10. 我應該先學習Angularjs還是Laravel?
- 11. 我應該學習mysqli還是PDO?
- 12. 我開始我的C++學習,使用CodeBlocks和Windows,我應該使用哪種編譯器?
- 13. 我應該繼續使用Windows Forms還是WPF應用程序學習C#?
- 14. Objective-C語法 - 我應該學習新的還是舊的?
- 15. 在學習JavaFx之前,我應該學習Swing嗎?
- 16. 我應該學習如何開發Chrome應用程序?
- 17. 什麼時候應該使用學說ORM和什麼時候zend-db-table?
- 18. 我應該嘗試瞭解教程還是應該從頭開始學習?
- 19. 我什麼時候必須使用scikit的fit方法學習?
- 20. 爲什麼我應該學習和使用struts?
- 21. 關於我應該如何開始學習用java編程的任何建議
- 22. 該怎麼做,開發應用程序時學習或先學習,然後開發應用程序
- 23. 用scikit學習partial_fit返回ValueError:先驗的總和應該是1
- 24. 我該如何開始學習jquery
- 25. 在開始使用Cocos2D之前,我應該學習基本的iOS編程嗎?
- 26. 作爲初學者,我應該學習Rails,Joomla還是DHTML?
- 27. 我們應該什麼時候在C#中使用事件
- 28. 我什麼時候應該使用javax.swing.SwingUtilities.invokeLater()?
- 29. 我什麼時候應該使用UITableViewCellSeparatorStyleSingleLineEtched?
- 30. 學習/使用ML。我應該使用哪個系統?
「我應該永遠......」傾向於是個人觀點火焰焰火的邀請......傾向於同意的人傾向於表達他們的支持,而傾向於不同觀點的人傾向於提出反對意見。 – 2010-11-29 10:49:49
要添加: 乍一看,「學習無警告代碼」聽起來像是一個好主意,也是一個很好的前進方向。另一方面,只要自己編寫的代碼樣本不會發揮作用,無論您是從教科書中嘗試的東西還是嘗試在其他地方找到的開放源代碼,實用主義都會立即啓動。該代碼不可能在特定的編譯器中完全無警告。 – 2010-11-29 11:02:44