其他分享
首页 > 其他分享> > 检查是否使用了c 11功能

检查是否使用了c 11功能

作者:互联网

所以,现在我的任务是检查整个代码中是否没有任何c 11依赖项和功能.问题是 – 是否有可能检查是否有?

我现在可以想象的可以分为两组:

> -std = c 11 -Wc 98-compat解析输出;
> Boost.Config围绕所有代码的很多宏,这看起来比第一个更复杂;

在某些静态分析仪中可能有内置功能吗?

我正在多个平台上构建它,所以我可以在windowslinux上查看.

解决方法:

重新发表评论.

现代编译器默认使用-std = c 11.旧的需要明确说我们想要c 11 by -std = c 11.你可以明确选择你想要的任何标准.所以使用-std = c 03会给你所有C 11构造的错误.

但这不是一个完整的故事.有些代码可以在C 03和C 11中以不同的方式运行,但仍然可以编译!例如,静态初始化仅在C 11中是线程安全的,因此在C 03中,您将获得将编译但被窃听的代码.确保您需要与完全了解C 03,C 11及其差异的人一起审查整个代码.

您可以使用静态代码分析工具支持这项工作,但要100%确定您需要查看它…

标签:c,c11,static-analysis
来源: https://codeday.me/bug/20190728/1558974.html