【发布时间】:2019-03-26 15:14:18
【问题描述】:
对于一个项目,我需要查找一个 c 文件是否包含需要 >=C11 或 C99 编译器的代码。这可以用 gcc 或 ctags 完成吗?
基本上我需要确定编译文件所需的最低编译器版本。我尝试了不同的工具,包括 ctags 等。
【问题讨论】:
-
你可以写一个 shellscript/batch 文件来尝试
gcc -std=c90有用吗?如果没有,请尝试gcc -std=c99。然后是 C11。 -
@Lundin 的建议或类似的东西是我看到的唯一选择。解决这个问题需要尝试根据各种语言标准解释给定的源代码,而执行该工作的程序(一次一个标准)就是编译器。但是请注意,有一些代码会被不符合任何语言标准的各种 C 编译器接受。
-
我会在编译选项中添加
-pedantic-errors和-Wall。