Che*_*-fc 0 c gcc syntax-error gcc-warning
我需要检查一个研究项目的 200 万个 C 源文件是否存在简单的语法错误,例如缺少(分号、括号等)。每个文件都是一个没有 main() 和头文件的函数。\n在 GCC 的帮助下,我使用了以下命令:
\ngcc -c -fsyntax-only -w file.c\nRun Code Online (Sandbox Code Playgroud)\n我的脚本正在完成这项工作,但唯一的问题是几乎超过 95% 的错误都与缺少头文件有关。我试图将其中一些头文件添加到每个函数中,但这些头文件的数量似乎无穷无尽。
\n有什么办法可以抑制丢失头文件的错误吗?
\nGCC 是否有一个可以用于我的目的的特殊标志?
\n与头文件相关的错误示例:
\nerror: unknown type name \xe2\x80\x98ioreq_t\xe2\x80\x99\nerror: unknown type name \xe2\x80\x98SH7750State\xe2\x80\x99\nerror: unknown type name \xe2\x80\x98int64_t\xe2\x80\x99\nerror: unknown type name \xe2\x80\x98AVCodecContext\xe2\x80\x99\nerror: unknown type name \xe2\x80\x98BlockDriverState\xe2\x80\x99\nerror: unknown type name \xe2\x80\x98PXA2xxLCDState\xe2\x80\x99\nRun Code Online (Sandbox Code Playgroud)\n另外,我很欣赏除了使用 GCC 之外的任何其他解决方案。
\n作为解决方法,您可以创建一个标头,其中包含所有缺失的内容#include,并用于-include强制将该包含包含在检查的文件之上。所以你不要编辑所有文件:
gcc -include "workaround.h" -c -fsyntax-only -w file.c
Run Code Online (Sandbox Code Playgroud)