Función de aserción de Win32 y error de falla durante la conversión a COFF

El uso de aseverar

    afirmar, es una macro;
    su función se puede describir como:

if (suponiendo que sea cierto)
{El      programa se está ejecutando normalmente; } else {       Informar un error && ¡Terminar el programa! (Evite errores mayores causados ​​por la ejecución del programa)   }





El prototipo de la macro assert se define en assert.h, y su función es terminar la ejecución del programa si su condición devuelve un error.

void assert (expresión int);
La función de assert es calcular la expresión expresión ahora. Si su valor es falso (es decir, 0), entonces imprime un mensaje de error a stderr primero, y luego termina el programa llamando a abortar.

La desventaja de utilizar aserrar es que las llamadas frecuentes afectarán en gran medida el rendimiento del programa y aumentarán la sobrecarga adicional.
Después de la depuración, puede deshabilitar la llamada de aserción insertando #define NDEBUG antes de la instrucción #include, de la siguiente manera:
#include 
#define NDEBUG 
#include

 

Cree un nuevo programa de consola win32; genere, si se produce el siguiente error, LNK1123,

Como se muestra en la figura siguiente, incruste la lista y configúrela en No;

Si asevera (1), la operación es la siguiente, no pasa nada;

assert (0) es el siguiente, se imprimirá un mensaje de error y aparecerá un cuadro de diálogo de abortar-reintentar-ignorar;

// astdemo.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <assert.h>

int _tmain(int argc, _TCHAR* argv[])
{
	assert(0);

	getchar();
	return 0;
}

 

Supongo que te gusta

Origin blog.csdn.net/bcbobo21cn/article/details/113706920
Recomendado
Clasificación