Freigeben über


/E (Vorverarbeitung an "stdout")

Verarbeitet C- und C++-Quelldateien und kopiert die vorverarbeiteten Dateien auf das Standardausgabegerät.

Syntax

/E

Hinweise

In diesem Prozess werden alle Präprozessordirektiven durchgeführt, Makroerweiterungen ausgeführt, und Kommentare werden entfernt. Um Kommentare in der vorverarbeiteten Ausgabe beizubehalten, verwenden Sie auch die Compileroption /C (Kommentare während der Vorverarbeitung beibehalten).

/E fügt #line die Ausgabe am Anfang und Ende jeder enthaltenen Datei und um Zeilen hinzu, die von Präprozessordirektiven für die bedingte Kompilierung entfernt wurden. Diese Direktiven nummerieren die Zeilen der vorverarbeiteten Datei neu. Daher beziehen sich Fehler, die in späteren Verarbeitungsphasen generiert wurden, auf die Zeilennummern der ursprünglichen Quelldatei und nicht auf Zeilen in der vorverarbeiteten Datei.

Die Option "/E " unterdrückt die Kompilierung. Sie müssen die vorverarbeitete Datei erneut zur Kompilierung übermitteln. /E unterdrückt auch die Ausgabedateien aus den Optionen "/FA", "/Fa" und "/Fm ". Weitere Informationen finden Sie unter /FA, /Fa (Listing File) und /Fm (Name Mapfile).

Verwenden Sie zum Unterdrücken #line von Direktiven stattdessen die Option /EP (Preprocess to stdout Without #line Direktiven).

Verwenden Sie stattdessen die Option /P (Preprocess to a File), um die vorverarbeitete Ausgabe an eine Datei anstatt stdoutan eine Datei zu senden.

Um Direktiven zu unterdrücken #line und die vorverarbeitete Ausgabe an eine Datei zu senden, verwenden Sie "/P " und "/EP " zusammen.

Sie können keine vorkompilierten Kopfzeilen mit der Option "/E " verwenden.

Beachten Sie, dass Leerzeichen bei der Vorverarbeitung in einer separaten Datei nach Token nicht ausgegeben werden. Dies kann zu einem illegalen Programm führen oder unbeabsichtigte Nebenwirkungen haben. Das folgende Programm wird erfolgreich kompiliert:

#define m(x) x
m(int)main( )
{
   return 0;
}

Wenn Sie jedoch folgendes kompilieren:

cl -E test.cpp > test2.cpp

int main in test2.cpp wird falsch sein intmain.

So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).

  2. Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>C/C++>Befehlszeile.

  3. Geben Sie die Compileroption im Feld "Zusätzliche Optionen " ein.

So legen Sie diese Compileroption programmgesteuert fest

Beispiel

Die folgenden Befehlszeilenvorverarbeitungen ADD.C, behält Kommentare bei, fügt Direktiven hinzu #line und zeigt das Ergebnis auf dem Standardausgabegerät an:

CL /E /C ADD.C

Siehe auch

MSVC-Compileroptionen
Syntax für die MSVC-Compilerbefehlszeile