Erhalte eine Liste von Methoden in der Klasse mit Hilfe von clang

8

In allgemeinen IDEs (wählen Sie eine) haben Sie oft eine Gliederungsansicht, die Ihnen die Liste der Methoden für eine bestimmte Klasse zeigt.

Angenommen, ich habe eine C ++ - Interface-Klasse in IFoo.h , die wie folgt aussieht:

%Vor%

Wie (programmatisch) kann ich eine solche IDE-Outliner-Liste für meine IFoo.h -Datei erhalten, indem ich vielleicht die clang-Bibliotheken verwende? Für einen ersten Start wäre es hilfreich, wenn ich eine Liste von Namen von Funktionen bekommen könnte.

Ich beabsichtige speziell, clang zu verwenden, also wäre jede Hilfe, wie man die my-Header-Datei mit clang analysieren könnte, sehr geschätzt.

In der Zwischenzeit werde ich mir das Clam-Tutorial hier ansehen: Ссылка

Vielen Dank im Voraus für Ihre Hilfe.

    
Konrad Kleine 19.02.2014, 10:49
quelle

1 Antwort

12

Ich habe dieses Tutorial Ссылка durchgesehen und dort einige ziemlich hilfreiche Sachen gefunden, das ist es, was mir einfällt :

Ich musste meine Datei von IFoo.h in IFoo.hpp umbenennen, um als Cxx und nicht als C-Code erkannt zu werden.

Ich musste mein Programm mit -x c++ aufrufen, damit meine IFoo.h -Datei als C ++ - und nicht als C-Code erkannt wird (clang interpretiert *.h -Dateien standardmäßig als C:

) %Vor%

Dies ist mein Code, um alle virtuellen Funktionen aus der bereitgestellten Klasse auszugeben:

%Vor%

Die Ausgabe sieht so aus, wenn die Datei IFoo.h übergeben wurde:

%Vor%     
Konrad Kleine 19.02.2014, 16:44
quelle