加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

检查是否使用了c 11功能

发布时间:2020-12-16 09:57:39 所属栏目:百科 来源:网络整理
导读:所以,现在我的任务是检查整个代码中是否没有任何c 11依赖项和功能.问题是 – 是否有可能检查是否有? 我现在可以想象的可以分为两组: -std = c 11 -Wc 98-compat解析输出; Boost.Config围绕所有代码的很多宏,这看起来比第一个更复杂; 在某些静态分析仪中可
所以,现在我的任务是检查整个代码中是否没有任何c 11依赖项和功能.问题是 – 是否有可能检查是否有?

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

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

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

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

解决方法

重新发表评论.

现代编译器默认使用-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%确定您需要查看它…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读