Valore restituito di cl.exe

cl.exe restituisce zero per le operazioni eseguite correttamente (senza errori) e un valore diverso da zero in caso contrario.

Il valore restituito di cl.exe può essere utile se la compilazione viene eseguita da uno script, da Powershell o da un file CMD o BAT. È consigliabile acquisire l'output del compilatore in caso si siano verificati errori o avvisi in modo da poterli risolvere.

I codici possibili per cl.exe sono talmente tanti da non poterli elencare tutti. È possibile cercare un codice di errore nei file winerror.h o ntstatus.h inclusi in Windows Software Development Kit nella directory %ProgramFiles(x86)%\Windows Kits\version\Include\shared\. Ai fini della ricerca, i codici di errore restituiti in formato decimale devono essere convertiti in formato esadecimale. Ad esempio, il codice di errore -1073741620 convertito in formato esadecimale diventa 0xC00000CC. Questo errore si trova in ntstatus.h, dove il messaggio corrispondente è "Impossibile trovare il nome della condivisione specificato nel server remoto". Per un elenco scaricabile dei codici di errore di Windows, vedere [MS-ERREF] Codici di errore di Windows.

È inoltre possibile utilizzare l'utilità di ricerca errori di Visual Studio per comprendere il significato di un messaggio di errore del compilatore. In una shell dei comandi di Visual Studio immettere errlook.exe per avviare l'utilità oppure nell'IDE di Visual Studio scegliere Strumenti, Ricerca errori nella barra dei menu. Immettere il valore dell'errore per trovare il testo descrittivo associato all'errore. Per altre informazioni, vedere Informazioni di riferimento su ERRLOOK.

Osservazioni:

Di seguito è riportato un file BAT di esempio che utilizza il valore restituito di 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

Vedi anche

Sintassi della riga di comando del compilatore MSVC