即使我必须在自己的源代码上使用RTTI,我可以使用clang来解析C代码吗?

时间:2011-11-12 20:29:42

标签: c++ parsing clang

我正在编写一个C ++程序,我需要能够将C代码解析为AST,对其执行一些操作,然后将其转换回字符串表示形式。在我读过的几乎所有类似的问题中,答案是“使用铿锵”。

但是,根据http://amnoid.de/tmp/clangtut/tut.html,在编译使用clang的代码时,显然必须提供标记-fno-rtti,但我正在使用{{1}等虚函数和向下转换对象等功能在我自己的代码中。还有一种使用clang的方法,还是我需要求助于另一个图书馆?

2 个答案:

答案 0 :(得分:3)

Clang 本身必须使用-fno-rtti进行编译,但我不相信当您使用clang编译(或只是构建一个)时,-fno-rtti没有任何要求AST来自)其他代码。

答案 1 :(得分:0)

要么在启用RTTI的情况下重新编译Clang,要么将其构建为共享库(尽管这个我并不完全确定)。