如何以编程方式检查源代码编译?
问题描述:
有一些字符串代码:如何以编程方式检查源代码编译?
std::string code = "int main(){return 0;}"
我可以使用哪些工具来检查这是否是合法的C++代码?类似的东西
checker.checkCPPcode(code) which returns bool
会很好。
答
像g++
这样的C++编译器会完成这项工作。将字符串写入临时文件,在文件上运行g++ -fsyntax-only
,并对返回值进行操作。
答
您可以将该字符串的内容粘贴到新创建的cpp
文件中,并运行g++
或其他可以使用的编译器并检查编译器的输出。
+0
为什么downvote? – 2012-01-05 12:03:32
编译器,还有什么? – 2012-01-05 10:55:42
为什么不把它写到一个临时文件上,运行正常的C++编译器,并检查返回码? – 2012-01-05 10:56:50
[解析C/C++源代码的库](http://stackoverflow.com/questions/2318347/library-to-parse-c-c-source-code) – Sjoerd 2012-01-05 10:56:51