Frage

Ich versuche, eine A /D -Compiler -Option auf MSVC6 zu verwenden, um eine Zeichenfolge zu definieren, aber es ist etwas Seltsames, doppelte Zitate um sie herum zu verwenden. Um dieses Problem zu debuggen, wäre es für mich äußerst hilfreich, zu sehen, welchen Wert der Präprozessor tatsächlich in meinen Code ersetzt, wo das Makro erweitert wird. Gibt es eine Möglichkeit, das zu tun? Ich habe versucht, eine Listungsdatei mit "Montage und Quelle" zu erstellen, aber die Quelle enthält den ursprünglichen Makronamen und der ASM ist in dieser Zeile ein unverständliches Kauzanschlag. Gibt es eine Möglichkeit, den Makrowert zur Kompilierung zu erhalten?

Wie kann ich eine Zeichenfolge mit der Option /D angeben (oder vielleicht nützlicher)? Es muss in meine Quelle mit doppelten Zitaten um sie herum ersetzen, da ich sie als Streichliteral verwende.

War es hilfreich?

Lösung

Versuchen Sie eine der folgenden Optionen zu Cl.exe:

/E preprocess to stdout
/P preprocess to file

Wenn Sie in Visual Studio erstellen, können Sie benutzerdefinierte Befehlszeilenoptionen in einem der Dialoge von Projekteigenschaften angeben.

Andere Tipps

MSVC verfügt über ein Compiler -Flag, mit dem Sie die vorverarbeitete Quelldatei mit allen erweiterten Makros, entfernten Kommentaren usw. sehen können. Die vorverarbeitete Ausgabe sollte Ihnen den Einblick geben, den Sie in Bezug auf Ihre Makroerweiterung suchen. Mehr Info hier.

Es gibt eine Option, an den Compiler zu gelangen (/P) und es schreibt den Präprozessorausgang in die Ausgabe my_cpp_file.i wo du es dir ansehen kannst.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top