CPP64: Der Präprozessor für 64-Bit-Windows

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Befehlszeilenhilfsprogramme - Index

CPP64.EXE ist nicht auf sein 32-Bit-Windows-Gegenstück, CPP32.EXE, bezogen, und CPP64 unterstützt die Befehlszeilenoptionen von CPP32 nicht. Aber CPP64 unterstützt dieselben Präprozessor-Direktiven, die auch CPP32 unterstützt.

Die Ausführung von CPP64.EXE entspricht der Ausführung von BCC64.EXE mit der Option -E ("Nur Präprozessor ausführen"). CPP64.EXE erzeugt eine Datei mit dem Listing eines C- oder C++-Programms, in der alle #include-Dateien und #define-Makros erweitert wurden. Da Sie den Präprozessor während der normalen Compilierung nicht verwenden müssen, ist die Listing-Datei beim Debuggen hilfreich.

Wenn ein Compiler Fehler innerhalb eines Makros oder einer Include-Datei meldet, erhalten Sie oft mehr Informationen über diesen Fehler, wenn Sie die Include-Dateien oder die Ergebnisse der Makroerweiterungen einsehen. In vielen Multi-Pass-Compilern werden die Ergebnisse der Vorverarbeitung gespeichert und können untersucht werden. Das sowohl BCC32 als auch BCC64 Single-Pass-Compiler sind, müssen Sie CPP64 verwenden, wenn Sie die Ausgabe der Vorverarbeitung einsehen möchten.

Ausgabedatei

Die Ausgabe für jede von CPP64 verarbeitete Datei wird in eine Datei im aktuellen Verzeichnis mit demselben Namen wie die Quelldatei aber mit der Erweiterung .i geschrieben: MyApp.i

Diese Ausgabedatei ist eine Textdatei, die alle Zeilen der Quelldatei sowie alle Include-Dateien enthält. Alle Zeilen mit Präprozessor-Direktiven wurden entfernt, zusammen mit allen konditionalen Textzeilen, die von der Compilierung ausgeschlossen sind. Innerhalb einer Textzeile werden alle Makros durch ihren Erweiterungstext ersetzt.

Befehlszeilensyntax

CPP64 <filename[s]>

<filename> gibt die Datei an, die verarbeitet werden soll. Es können mehrere Dateien angegeben werden. Mindestens eine Datei muss angegeben werden.

Beispiel

Folgende Dateien sind vorhanden:

  • pch.h:
#include <P:\Test CPP64\File2.h>
   #include <P:\Test CPP64\File1.h>
  • File1.h
int File1Func1(double, double);
   double File1Func2(int, int);
  • File2.h
void File2Func1(int x, int y);
   void File2Func2(int, double);

Der folgende Befehl wurde ausgeführt:

CPP64 preprocesor.png

Dies ist die Ausgabedatei, pch.i:

#line 1 "pch.h"
 #line 1 "pch.h"
 #line 1 "<built-in>"
 #line 1 "<built-in>"
 #line 147 "<built-in>"
 #line 1 "<command line>"
 #line 1 "<built-in>"
 #line 1 "pch.h"
 #line 1 "P:\\Test CPP64\\File1.h"
 int File1Func1(double, double);
 double File1Func2(int, int);
 #line 1 "pch.h"
 
 #line 1 "P:\\Test CPP64\\File2.h"
 void File2Func1(int x, int y);
 void File2Func2(int, double);
 #line 2 "pch.h"

Siehe auch