いくつかの C++ コードを生成し、それを文字列に格納します。libclang を使用して文字列から AST ツリーを構築したいと考えています。どうやってするの?余分なファイルに文字列を入れたくありません。
質問する
525 次
2 に答える
4
CXUnsavedFile を使用して、メモリ内バッファを libclang に渡すことができます。
于 2013-05-10T19:03:41.510 に答える
1
次のコードなどを試すことができます。
std::unique_ptr<ASTUnit> AST(tooling::buildASTFromCode("int x=10;x++;"));
TranslationUnitDecl *DC = AST->getASTContext().getTranslationUnitDecl();
if (DC) {
llvm::errs() << "---------dump begin----------\n";
DC->dump();
llvm::errs() << "---------dump end----------\n";
visitor.TraverseDecl(DC);
}
于 2016-11-17T03:40:59.557 に答える