/E (Vorverarbeitung an "stdout")
Aktualisiert: November 2007
Verarbeitet C- und C++-Quelldateien vor und übermittelt die vorverarbeiteten Dateien an das Standardausgabegerät.
/E
Hinweise
Bei diesem Prozess werden alle Präprozessordirektiven und Makroerweiterungen ausgeführt sowie Kommentare entfernt. Um Kommentare in der vorverarbeiteten Ausgabe beizubehalten, verwenden Sie zusätzlich die /C (Kommentare bei der Vorverarbeitung beibehalten)-Compileroption.
/E fügt der Ausgabe #line-Direktiven am Anfang und Ende jeder eingeschlossenen Datei sowie vor und hinter den Zeilen hinzu, die von den Präprozessordirektiven zur bedingten Kompilierung entfernt wurden. Diese Direktiven ändern die Zeilennummerierung der vorverarbeiteten Datei. Deshalb beziehen sich Fehlermeldungen in späteren Verarbeitungsstufen auf die Zeilennummern der ursprünglichen Quelldatei, nicht auf die Zeilen in der vorverarbeiteten Datei.
Mit der /E-Option wird die Kompilierung unterdrückt. Sie müssen die vorverarbeiteten Datei erneut zum Kompilieren übergeben. /E unterdrückt auch die Ausgabedateien der Optionen /FA, /Fa und /Fm. Weitere Informationen finden Sie unter /FA, /Fa (Listendatei) und /Fm (Name der Zuordnungsdatei).
Verwenden Sie die /EP (Vorverarbeitung an "stdout" ohne #line-Direktiven)-Option zum Unterdrücken der #line-Direktiven.
Um die vorverarbeitete Ausgabe in eine Datei statt an stdout zu übergeben, verwenden Sie stattdessen die /P (Vorverarbeitung in eine Datei)-Option.
Zum Unterdrücken der #line-Direktiven und Übergeben der vorverarbeiteten Ausgabe in eine Datei verwenden Sie /P und /EP zusammen.
Vorkompilierte Header können nicht mit der /E-Option verwendet werden.
Beachten Sie, dass beim Vorverarbeiten in eine separate Datei nach Tokens keine Leerzeichen eingefügt werden. Das kann zu einem ungültigen Programm oder unbeabsichtigten Nebeneffekten führen. Das folgende Programm wird erfolgreich kompiliert:
#define m(x) x
m(int)main( )
{
return 0;
}
Wenn Sie jedoch mit dem folgenden Code kompilieren:
cl -E test.cpp > test2.cpp
wird int main fehlerhaft als intmain an test2.cpp übergeben.
So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Ausführliche Informationen finden Sie unter Gewusst wie: Öffnen von Projekteigenschaftenseiten.
Klicken Sie auf den Ordner C/C++.
Klicken Sie auf die Eigenschaftenseite für die Befehlszeile.
Geben Sie die Compileroption im Feld Zusätzliche Optionen ein.
So legen Sie diese Compileroption programmgesteuert fest
- Siehe GeneratePreprocessedFile.
Beispiel
Die folgende Befehlszeile führt eine Vorverarbeitung von ADD.C durch, übernimmt die Kommentare, fügt #line-Direktiven hinzu und zeigt das Ergebnis auf dem Standardausgabegerät an:
CL /E /C ADD.C