Wartość zwracania cl.exe
Program cl.exe zwraca 0 w przypadku sukcesu (bez błędów) i wartość różną od zera w przeciwnym razie.
Wartość zwracana przez cl.exe może być przydatna, jeśli kompilujesz z pliku skryptu, powershell, .cmd lub .bat.Zaleca się przechwycenie danych wyjściowych kompilatora w przypadku błędów lub ostrzeżeń, tak aby można je było rozwiązać.
Istnieje zbyt wiele możliwych kodów wyjścia błędów dla cl.exe, aby je wszystkie wymienić.Możesz wyszukać kod błędu w plikach winerror.h lub ntstatus.h, zawartych w Windows Software Development Kit w %ProgramFiles(x 86)%\Windows Kits\version\Include\shared\directory.Kody błędów zwracane w zapisie dziesiętnym muszą zostać przekonwertowane na format szesnastkowy, aby możne je było wyszukać.Na przykład, kod błędu -1073741620 przekonwertowany na liczbę szesnastkową to 0xC00000CC.Ten błąd znajduje się w ntstatus.h, gdzie jest odpowiedni komunikat „Nie można odnaleźć określonej nazwy udziału na zdalnym serwerze”. Aby pobrać listę kodów błędów systemu Windows, zobacz [MS-ERREF]: Windows Error Codes.
Możesz też użyć narzędzia wyszukiwania błędów w Visual Studio, aby się dowiedzieć, co oznacza komunikat o błędzie kompilatora.W powłoce poleceń Visual Studio wpisz errlook.exe, aby uruchomić narzędzie, lub w Visual Studio IDE na pasku menu wybierz Narzędzia, Wyszukiwanie błędów.Wprowadź wartość błędu, aby znaleźć opisowy tekst skojarzony z błędem.Aby uzyskać więcej informacji, zobacz Odwołanie ERRLOOK.
Uwagi
Oto przykładowy plik .bat, używający wartości zwracanej przez cl.exe.
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