exit, _exit
exit finaliza el proceso de llamada después de limpieza; _exit la finaliza inmediatamente.
[!NOTA]
No utilice este método para cerrar la aplicación de Tienda Windows, excepto en la prueba o escenarios de depuración.Las maneras mediante programación o de la interfaz de usuario de cerrar una aplicación de Tienda Windows no se permiten según la sección 3,6 de Windows 8 requisitos de la raíz de la aplicación.Para obtener más información, vea Ciclo de vida de la aplicación (aplicaciones de almacén de Windows).
void exit(
int status
);
void _exit(
int status
);
Parámetros
- status
Estado de salida.
Comentarios
Las funciones de exit y de _exit finalizan el proceso de llamada.las funciones de último en entrar, primero en salir de orden - de (LIFO) de programas con llamadas en directo de exit que se registran por atexit y _onexit y, a continuación reemplaza todos los búferes de archivos antes de que finalice el proceso._exit finaliza el proceso sin procesar atexit o _onexit y sin vaciar los búferes de la secuencia.Normalmente, el valor de status se establece en 0 para indicar una salida o un conjunto habitual a otro valor para indicar un error.
Aunque las llamadas de exit y de _exit no devuelve un valor, byte de orden inferior de status se pone a disposición del proceso de llamada que espera, si existe, después de los resultados de los procesos de llamada.El valor de status está disponible el comando ERRORLEVEL batch del sistema operativo y se representa mediante una de dos constantes: EXIT_SUCCESS, que representa un valor de 0, o EXIT_FAILURE, que representa un valor de 1.exit, _exit, _cexit, y _c_exit se comportan como sigue.
Función |
Descripción |
---|---|
exit |
Realiza procedimientos de finalización completos de la biblioteca de c, finaliza el proceso, y termina con el código de estado proporcionado. |
_exit |
Realiza procedimientos de finalización rápidos de la biblioteca de c, finaliza el proceso, y termina con el código de estado proporcionado. |
_cexit |
Realiza procedimientos de finalización completos de la biblioteca de c y vuelve al llamador, pero no finaliza el proceso. |
_c_exit |
Realiza procedimientos de finalización rápidos de la biblioteca de c y vuelve al llamador, pero no finaliza el proceso. |
Cuando se llama a la función de exit o de _exit, destructores para ningún objeto temporal o automática que existen en el momento de la llamada no se llaman.Un objeto automático se define en una función donde el objeto no se declara como static.Un objeto temporal es un objeto creado por el compilador.Para destruir un objeto automático antes de llamar a exit o _exit, explícitamente llama al destructor del objeto, como sigue:
myObject.myClass::~myClass();
No utilice DLL_PROCESS_ATTACH para llamar a exit de DllMain.Si desea cerrar la función de DLLMain, devuelve FALSE de DLL_PROCESS_ATTACH.
Requisitos
Función |
Encabezado necesario |
---|---|
exit |
<process.h> o <stdlib.h> |
_exit |
<process.h> o <stdlib.h> |
Para obtener información adicional de compatibilidad, vea Compatibilidad.
Ejemplo
// crt_exit.c
// This program returns an exit code of 1. The
// error code could be tested in a batch file.
#include <stdlib.h>
int main( void )
{
exit( 1 );
}
Equivalente en .NET Framework
System::Diagnostics::Process::Kill