Valor devuelto de cl.exe
cl.exe devuelve cero si es correcto (no tiene errores) y un valor distinto de cero en caso contrario.
El valor devuelto de cl.exe puede ser útil si está compilando un script o un archivo de powershell, .cmd o .bat. Es recomendable que capture el resultado del compilador en caso de que haya errores o advertencias para que pueda resolverlos.
Hay demasiados códigos de salida de error posibles para que cl.exe los muestre todos. Puede buscar un código de error en los archivos winerror.h o ntstatus.h incluidos en el kit de desarrollo de software de Windows, en el directorio %ProgramFiles(x86)%\Windows Kits\version\Include\shared\. Los códigos de error devueltos en formato decimal deben convertirse en formato hexadecimal para poder realizar la búsqueda. Por ejemplo, el valor hexadecimal de un código de error -1073741620 es 0xC00000CC. Este error se encuentra en ntstatus.h, donde el mensaje correspondiente es "No se encuentra el nombre del recurso compartido especificado en el servidor remoto". Para obtener una lista descargable de los códigos de error de Windows, consulte [MS-ERREF]
Códigos de error de Windows.
También puede usar la utilidad de búsqueda de errores de Visual Studio para averiguar lo que significa un mensaje de error del compilador. En un shell de comandos de Visual Studio, escriba errlook.exe para iniciar la utilidad; o en el IDE de Visual Studio, en la barra de menús, elija Herramientas y Búsqueda de errores. Escriba el valor del error para buscar texto descriptivo asociado al error. Para más información, consulte Referencia de ERRLOOK.
Comentarios
A continuación se muestra un ejemplo de un archivo .bat en el que se utiliza el valor devuelto de 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