G++ llvm预处理器g++;通行证
假设我想编写自己的预处理器 所以我想要这样的东西: 所有*.cpp和*.hpp(甚至包括在内的那些),在转到g++之前,它们都会:G++ llvm预处理器g++;通行证,g++,llvm,stage,G++,Llvm,Stage,假设我想编写自己的预处理器 所以我想要这样的东西: 所有*.cpp和*.hpp(甚至包括在内的那些),在转到g++之前,它们都会: file --> my preprocessor -> g++ 在LLVM框架中有没有一种简单的方法可以做到这一点?i、 e.添加一个阶段,上面写着:“加载源文件后,在编译之前通过管道将其传输到该程序中” 谢谢 想法: 黑客cpp。您可以轻松(-无集成cpp)使gcc调用您的cpp版本,该版本将调用realcpp 请求gcc-E,收集包含的文件名,用程
file --> my preprocessor -> g++
在LLVM框架中有没有一种简单的方法可以做到这一点?i、 e.添加一个阶段,上面写着:“加载源文件后,在编译之前通过管道将其传输到该程序中”
谢谢 想法:
cpp
。您可以轻松(-无集成cpp
)使gcc
调用您的cpp
版本,该版本将调用realcpp
gcc-E
,收集包含的文件名,用程序读取所有文件,删除“#include”行变体首选项:4,3,1,2,5。是的,可以很容易地让Clang驱动程序实现您想要的功能,尽管它不支持您想要的现成功能。您使用的是llvm gcc还是Clang?另外,你的意思是你想在编译器获取文件之前(即#include指令中的某种钩子)以某种方式预处理#include文件吗?我愿意使用这两种方法。我希望在执行标准的#define宏之前调用我的层。/*请求的标记:cpp preprocessor*/