假设我想编写自己的预处理器。
所以我想要这样的东西:
所有 *.cpp 和 *.hpp (甚至包括的),在他们去 g++ 之前,他们去:
file --> my preprocessor -> g++
在 LLVM 框架中是否有一种简单的方法可以做到这一点?即添加一个阶段:“加载源文件后,在编译它之前通过这个程序管道它”?
谢谢!
想法:
cpp
。您可以轻松地 ( -no-integrated-cpp
)gcc
调用您的版本,cpp
即调用 real cpp
。gcc -E
,收集包含的文件名,使用您的程序读取所有文件,删除“#include”行。变体偏好:4,3,1,2,5。
是的,让 Clang 驱动程序做你想做的事情会很容易,尽管它不支持你想要的开箱即用。