gcc varargs Präprozessorausgabe



gcc preprocessor varargs (4)

Wie kann ich die Ausgabe des C -Preprozessors vor der Konvertierung in eine Objektdatei anzeigen?

Ich möchte sehen, was die MACRO-Definitionen mit meinem Code machen.


Für GCC,

gcc -E -dM file.c

oder

g++ -E -dM file.cpp

sollte die Arbeit machen. -dM, wie GNU Preprocessor Manual es ausdrückt , sollte eine Liste von '#define' Direktiven für alle Makros erzeugen, die während der Ausführung des Präprozessors definiert wurden, einschließlich vordefinierter Makros.


gcc -E file.c

oder

g++ -E file.cpp

werde das für dich tun. Der -E-Schalter zwingt den Compiler nach der Vorverarbeitungsphase zu stoppen und spuckt alles aus, was im Moment zur Standardausgabe kommt.

Hinweis: Sicher müssen Sie einige # include-Anweisungen haben. Die enthaltenen Dateien werden ebenfalls vorverarbeitet, so dass Sie viele Ausgaben erhalten.

Für Visual C ++ ist der Schalter / E, der die Präprozessorausgabe auf den Bildschirm ausgibt.


Das hängt vom verwendeten Compiler ab.
Mit GCC können Sie das Flag -E in der Befehlszeile angeben, damit der Compiler die Ausgabe vor dem Prozessor erzeugt.






c-preprocessor