XML-Dokumentation für C++-Code
Nach oben zu Befehlszeilenhilfsprogramme - Index
Inhaltsverzeichnis |
Einführung
Der C++-Compiler kann eine XML-Datei mit den Deklarationen aus einer C++-Quelltextdatei und den einbezogenen Headern erzeugen. Die generierten Informationen ähneln den im C++Builder-Klassen-Explorer angezeigten Informationen insofern, als dass beide Informationen aus der Symboltabelle des Compilers anzeigen. Dieses Thema beschreibt, die Option -Zx, mit der BCC32 XML-Dokumentation erzeugt.
Das Format (Schema) der XML-Datei wird unter Globale XML-Deklarationen für die Compiler XML-Ausgabe beschrieben.
BCC32-Befehlsoptionen für die XML-Ausgabe
-Zx - XML-Ausgabe erzeugen
Die Option -Zx von BCC32 veranlasst den Compiler, eine XML-Datei mit den Symbolen zu erzeugen, die während der Verarbeitung einer C++-Quelltextdatei und deren Headern gefunden wurden. Der Befehl BCC32 -Zx test.cpp erzeugt beispielsweise für die folgende Quelltextdatei (test.cpp) die unten gezeigte XML-Datei test.xml:
Befehlssyntax
bcc32 -Zx test.cpp
test.cpp
class TBase {
int id;
};
class TDerived : public TBase {
char *name;
};
test.xml
<?xml version="1.0" encoding="utf-8"?> <file name="test.cpp"> <class name="TBase" visibility="public"> <members> <field name="id" type="int" visibility="private" /> </members> </class> <class name="TDerived" visibility="public"> <ancestor name="TBase"> <fieldref name="id" visibility="private" /> </ancestor> <members> <field name="name" type="char *" visibility="private" /> </members> </class> </file>
Die Option -Zx akzeptiert auch Unteroptionen. Diese werden angezeigt, wenn Sie den folgenden Hilfebefehl (-h) ausführen:
Befehlssyntax
bcc32 -h -Zx
Folgendes wird ausgegeben:
-Zx Global Definitionen in XML-Datei ausgeben.
Unteroptionen:
-Zx=<Dateiname> Nur Typen/Deklarationen in <Dateiname> ausgeben
-Zxf[=Dateiname] Member des Basistyps weglassen
-Zxm[=Dateiname] Makros ausgeben -Zxp[=Dateiname] Datei- & Zeilenposition ausgeben
-Zxf - Vorfahrinformationen weglassen
Bei der Verarbeitung einer Klasse für die XML-Ausgabe erzeugt BCC32 standardmäßig Informationen über Member der Basistypen (Vorfahren) dieser Klasse. Die Unteroption 'f' weist den Compiler an, keine Informationen für Basistypen zu erzeugen. Die folgende Tabelle zeigt, wie die Unteroption 'f' die generierte .xml-Datei für die Datei test.cpp ändert.
Befehlssyntax
bcc32 -Zxf Test.cpp
test.xml (ohne die Unteroption 'f')
<?xml version="1.0" encoding="utf-8"?> <file name="test.cpp"> <class name="TBase" visibility="public"> <members> <field name="id" type="int" visibility="private" /> </members> </class> <class name="TDerived" visibility="public"> <ancestor name="TBase"> <fieldref name="id" visibility="private" /> </ancestor> <members> <field name="name" type="char *" visibility="private" /> </members> </class> </file>
test.xml (mit der Unteroption 'f')
<?xml version="1.0" encoding="utf-8"?> <file name="test.cpp"> <class name="TBase" visibility="public"> <members> <field name="id" type="int" visibility="private" /> </members> </class> <class name="TDerived" visibility="public"> <members> <field name="name" type="char *" visibility="private" /> </members> </class> </file>
-Zxp - Positionsinformationen erzeugen
Die Unteroption 'p' weist BCC32 an, Attribute einzubeziehen, die die Datei und die Zeile jeder Deklaration beschreiben. Die folgende Tabelle zeigt die Datei test.xml mit der aktivierten Unteroption 'p'.
Befehlssyntax
bcc32 -Zxp Test.cpp
test.xml (mit der Unteroption 'p')
<?xml version="1.0" encoding="utf-8"?> <file name="test.cpp"> <class name="TBase" visibility="public" file="test.cpp" line="1"> <members> <field name="id" type="int" visibility="private" file="test.cpp" line="2" /> </members> </class> <class name="TDerived" visibility="public" file="test.cpp" line="5"> <ancestor name="TBase"> <fieldref name="id" visibility="private" /> </ancestor> <members> <field name="name" type="char *" visibility="private" file="test.cpp" line="6" /> </members> </class> </file>