私はC/C++コードを解析するためにclangに興味があり、メソッドと関数を見つけることができます。libclang:メソッドの場所のコレクションを取得
clangを使用してC++ソースコードファイルを解析し、クラスとメソッドのコレクション、およびそれらの場所を取得できますか?
私はC/C++コードを解析するためにclangに興味があり、メソッドと関数を見つけることができます。libclang:メソッドの場所のコレクションを取得
clangを使用してC++ソースコードファイルを解析し、クラスとメソッドのコレクション、およびそれらの場所を取得できますか?
これはあなたのためにclangプラグインを書くことができます。
this articleをご覧ください。基本的に、独自のプラグインを構築し、ASTConsumerを使用してASTをトラバースする方法について説明します。記事に書かれているように、既存のプラグインの例PrintFunctionNamesから始めます。各関数宣言に対してメソッドHandleTopLevelDecl(DeclGroupRef DG)
が呼び出されます。 ND->getNameAsString()
に加えて、この方法でND->getLocation()
を呼び出すことができます。
How to get location of variable name in clang::VarDecl
Handle C++ functions with clang API to insert code
:また API documentationを見て、詳細については、この二つの質問を持っています