Rückgabewert von cl.exe
cl.exe gibt 0 (null) für Erfolg (keine Fehler) und andernfalls einen Wert ungleich 0 (null) zurück.
Der Rückgabewert von cl.exe kann nützlich sein, wenn Sie mit einer Skript-, PowerShell-, CMD- oder BAT-Datei kompilieren. Es wird empfohlen, die Ausgabe des Compilers aufzuzeichnen, um mögliche Fehler oder Warnmeldungen beheben zu können.
Es gibt weitaus mehr mögliche Exitcodes bei Fehlern, als cl.exe auflisten könnte. Sie können in den Dateien "winerror.h" oder "ntstatus.h" im Windows Software Development Kit im Verzeichnis %ProgramFiles(x86)%\Windows Kits\version\Include\shared\ nachschlagen. Im Dezimalformat zurückgegebene Fehlercodes müssen für die Suche in das Hexadezimalformat konvertiert werden. Beispiel: Der Fehlercode -1073741620 entspricht im Hexadezimalformat 0xC00000CC. Dieser Fehler wird in ntstatus.h gefunden, wobei die entsprechende Meldung "Der angegebene Freigabename kann auf dem Remoteserver nicht gefunden werden." Eine herunterladbare Liste der Windows-Fehlercodes finden Sie unter [MS-ERREF]
Windows-Fehlercodes.
Sie können die Bedeutung einer Fehlermeldung des Compilers auch mit dem Hilfsprogramm für die Fehlersuche von Visual Studio herausfinden. Geben Sie in einer Visual Studio-Befehlsshell errlook.exe ein, um das Hilfsprogramm zu starten. Oder wählen Sie in der Menüleiste in der Menüleiste " Extras", "Fehlersuche" aus. Geben Sie den Fehlerwert ein, um den beschreibenden Text zu finden, der mit dem Fehler verknüpft ist. Weitere Informationen finden Sie unter ERRLOOK Reference.
Hinweise
Bei dem folgenden Beispiel handelt es sich um eine BAT-Datei, die den Rückgabewert von cl.exe verwendet.
echo off
cl /W4 t.cpp
@if ERRORLEVEL == 0 (
goto good
)
@if ERRORLEVEL != 0 (
goto bad
)
:good
echo "clean compile"
echo %ERRORLEVEL%
goto end
:bad
echo "error or warning"
echo %ERRORLEVEL%
goto end
:end