2017-10-15 73 views
0

我在學校學習C++課程,我想知道是否有簡單的方法告訴編譯器對我的程序更加嚴格。特別是,我希望我的編譯器告訴我,我的程序不符合是否符合C++ 11標準。如何檢查我的程序是否符合特定標準?

我想了解,所以這裏是一個假設的情況。比方說,我寫了一個程序,它編譯得很好。但它編譯是因爲編譯器對我很好,並理解我想要做的事情。我想讓編譯器告訴我我可以編譯你的程序,但是這個片段不應該像這樣

+0

「標準兼容」是什麼意思?請注意,該標準允許從「平臺依賴」行爲到未定義行爲的不同級別的「未定義」......請注意,即使標準明確的未定義行爲在某些編譯器/環境組合下也可能是完全合法的... –

+0

從實踐的角度的觀點 - 你必須選擇幾個編譯器,如gcc,clang,cl(Visual Studio)。在gcc和clang中,您可以選擇想要的標準和迂腐的警告級別,在VS中禁用「語言擴展」 - 看起來您不會選擇特定的標準風格。但是如果你可以用全部3種編譯器編譯你的代碼 - 它可能或多或少是標準的...... –

回答

0

我想要編譯器告訴我我可以編譯你的程序,但是這個片段看起來不應該像這樣。

這部分完成了警告。但是,大部分僅限於微觀合規級別。

檢查更大的代碼部分合規性更多的是靜態分析工具的工作。除了其中最好的是商業版本之外,還有一個基於鐺IIRC的相當不錯的開源項目。

相關問題