有一些字符串代碼:如何以編程方式檢查源代碼編譯?
std::string code = "int main(){return 0;}"
我可以使用哪些工具來檢查這是否是合法的C++代碼?類似的東西
checker.checkCPPcode(code) which returns bool
會很好。
有一些字符串代碼:如何以編程方式檢查源代碼編譯?
std::string code = "int main(){return 0;}"
我可以使用哪些工具來檢查這是否是合法的C++代碼?類似的東西
checker.checkCPPcode(code) which returns bool
會很好。
像g++
這樣的C++編譯器會完成這項工作。將字符串寫入臨時文件,在文件上運行g++ -fsyntax-only
,並對返回值進行操作。
您可以將該字符串的內容粘貼到新創建的cpp
文件中,並運行g++
或其他可以使用的編譯器並檢查編譯器的輸出。
爲什麼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