2017-10-15 97 views
0

我在学校学习C++课程,我想知道是否有简单的方法告诉编译器对我的程序更加严格。特别是,我希望我的编译器告诉我,我的程序不符合是否符合C++ 11标准。如何检查我的程序是否符合特定标准?

我想了解,所以这里是一个假设的情况。比方说,我写了一个程序,它编译得很好。但它编译是因为编译器对我很好,并理解我想要做的事情。我想让编译器告诉我我可以编译你的程序,但是这个片段不应该像这样

+0

“标准兼容”是什么意思?请注意,该标准允许从“平台依赖”行为到未定义行为的不同级别的“未定义”......请注意,即使标准明确的未定义行为在某些编译器/环境组合下也可能是完全合法的... –

+0

从实践的角度的观点 - 你必须选择几个编译器,如gcc,clang,cl(Visual Studio)。在gcc和clang中,您可以选择想要的标准和迂腐的警告级别,在VS中禁用“语言扩展” - 看起来您不会选择特定的标准风格。但是如果你可以用全部3种编译器编译你的代码 - 它可能或多或少是标准的...... –

回答

0

我想要编译器告诉我我可以编译你的程序,但是这个片段看起来不应该像这样。

这部分完成了警告。但是,大部分仅限于微观合规级别。

检查更大的代码部分合规性更多的是静态分析工具的工作。除了其中最好的是商业版本之外,还有一个基于铛IIRC的相当不错的开源项目。

相关问题