libclang

    3热度

    1回答

    我需要一个示例代码来学习如何从clang :: ASTContext生成C++代码。 我从C++代码创建了ast,并对AST进行了一些更改,现在我想再次生成代码。任何人都可以帮忙吗?先谢谢了。

    0热度

    1回答

    我正在开发基于llvm的东西,并且我想在运行代码时执行JIT,在代码jited中,我在代码中未使用某些函数(生成jit代码的程序代码)。但是我发现它很昂贵,在运行代码时花费了很多时间。有什么方法可以将原始代码中的函数编译为内部表示,并将其粘贴到jited代码中,如内联函数。 例如: 原代码: void f(){ //.... } ------------实时编译的代码 jitted_fun

    3热度

    3回答

    我刚刚开始使用libclang通过python绑定。我知道我可以遍历整个语法树(AST)使用get_children,但我一直没能找到get_next_sibling()(或任何它可能被称为)函数,以便我可以跳过不感兴趣的子树。这样的功能是否存在?

    1热度

    1回答

    我的代码访问由libclang生成的AST,并在其中插入一些代码。我想获得新的AST,同时我想避免编写代码到文件中,是否有libclang中的任何api来执行此操作?

    5热度

    2回答

    我正试图在Objective-C中将参数的类名提取到方法调用。我解析的代码是: - (void)testAddConcreteDataModel:(DFDemoDataModelOne*)helpmeh { [self.dataModels addObject:helpmeh]; } 而我需要的结果是类helpmeh的,这是“DFDemoDataModelOne”的类型。 到目前为

    6热度

    1回答

    当我尝试在Qt应用程序中使用libclang时,遇到了一个奇怪的错误。 TEST.CPP #include <QApplication> #include <QMainWindow> #include <clang-c/Index.h> int main (int argc, char *argv[]) { QApplication a(argc, argv); Q

    3热度

    2回答

    我正在尝试在我的Mac上安装lib ++。1.dylib。我按照这里的说明http://libcxx.llvm.org/并下载了源代码。当我尝试./buildit时,遇到clang++: command not found错误。 所以我去了这里http://clang.llvm.org/get_started.html并安装了铛。不幸的是,现在当我回到安装libcxx时,我仍然得到了clang +

    1热度

    1回答

    假设我有两个文件main.c和func.c func.c从main.c的main函数中调用。通常情况下,我会生成main.o和func.o,链接器会找到func的定义并将其与主要的调用绑定.c 现在,我想通过libclang API来做同样的事情。这是我正在做的一个Doxygen类型的代码浏览工具。我能够解析这两个文件。从这里开始,我不知道该怎么做。 我应该生成* .o文件并使铛链接它们吗? 谢谢

    0热度

    1回答

    我想要获取执行objective c方法的行号。 1 #include "foobar.h" 2 -(void)Foo{ 3 ... 4 } 5 6 +(NSInteger *)bar{ 7 ... 8 } 输出应该是:2,6- 如何与libclang实现它。 我不想为此使用正则表达式,因为它就足够了。

    6热度

    3回答

    在下面的头文件我想获得相应的+reflect注释的类和成员变量: #ifndef __HEADER_FOO #define __HEADER_FOO //+reflect class Foo { public: private: int m_int; //+reflect }; #endif 使用的libclang Python绑定与下面的脚本: