2012-01-05 114 views
3

有一些字符串代碼:如何以編程方式檢查源代碼編譯?

std::string code = "int main(){return 0;}" 

我可以使用哪些工具來檢查這是否是合法的C++代碼?類似的東西

checker.checkCPPcode(code) which returns bool 

會很好。

+8

編譯器,還有什麼? – 2012-01-05 10:55:42

+3

爲什麼不把它寫到一個臨時文件上,運行正常的C++編譯器,並檢查返回碼? – 2012-01-05 10:56:50

+0

[解析C/C++源代碼的庫](http://stackoverflow.com/questions/2318347/library-to-parse-c-c-source-code) – Sjoerd 2012-01-05 10:56:51

回答

6

g++這樣的C++編譯器會完成這項工作。將字符串寫入臨時文件,在文件上運行g++ -fsyntax-only,並對返回值進行操作。

2

您可以將該字符串的內容粘貼到新創建的cpp文件中,並運行g++或其他可以使用的編譯器並檢查編譯器的輸出。

+0

爲什麼downvote? – 2012-01-05 12:03:32

相關問題