使用 LLVM PASS 或 Clang 将 int 变量插入 class
Insert int variable into the class using LLVM PASS or Clang
我想使用 LLVM PASS 或 Clang 将整数变量插入所有 类。
如何操作?
例如..
class foo {
int a;
}
我想插入如下新值。
class foo {
int a;
unsigned int b; // I want to insert this.
}
如何使用 LLVM PASS 或 Clang 执行此操作?
- 我更喜欢 LLVM PASS。
非常感谢:)
我的建议是为此使用 Clang,因为 LLVM 在位码 (IR) 上运行,而您想要的操作与 C++ 非常相关,那么为什么不利用 Clang 关于 AST 的知识呢?
用LibTooling you can write stand-alone tool to do exactly what you want. More specifically, use an AST Matcher查找所有C++ class声明(cxxRecordDecl)。然后,您可以在回调中插入一个新的 FieldDecl。
我想使用 LLVM PASS 或 Clang 将整数变量插入所有 类。
如何操作?
例如..
class foo {
int a;
}
我想插入如下新值。
class foo {
int a;
unsigned int b; // I want to insert this.
}
如何使用 LLVM PASS 或 Clang 执行此操作? - 我更喜欢 LLVM PASS。
非常感谢:)
我的建议是为此使用 Clang,因为 LLVM 在位码 (IR) 上运行,而您想要的操作与 C++ 非常相关,那么为什么不利用 Clang 关于 AST 的知识呢?
用LibTooling you can write stand-alone tool to do exactly what you want. More specifically, use an AST Matcher查找所有C++ class声明(cxxRecordDecl)。然后,您可以在回调中插入一个新的 FieldDecl。