rendered paste body.h#include <windows.h>#include <stdio.h>#include <string.h>#define MY_APP_ERROR_HDR ("Found a Error!")#define NEED_IGNORE (1)#define NEED_DEBUG (2)char __stdcall _FASSERT(void* expr, void *filename, unsigned int linenum,const char* FunctionName);//#define FASSERT(expression) _FASSERT((void*)(expression),__FILE__,__LINE__)//#pragma warning(disable:4312)#define FASSERT(expr) {if (NEED_DEBUG==_FASSERT(reinterpret_cast<void*>(expr || expr),__FILE__,__LINE__,TEXT( #expr))){__asm INT 3};};//#pragma warning(default:4312).cpp#pragma warning(disable:4996)char __stdcall _FASSERT(void* expr, void *filename, unsigned int linenum,const char* FunctionName){ if (!expr) { ShowCursor(true); char buf[400] = ""; sprintf(buf,"Не выполняется утверждение в программе!\nУтверждение:%s\nФайл:\"%s\"\nСтрока №%u\n\tПрервать - выход\n\tПовторить - перейти в Debug\n\tОтменить - игнорировать",FunctionName,filename,linenum); int ret = MessageBox(0,buf,MY_APP_ERROR_HDR,MB_ABORTRETRYIGNORE | MB_ICONWARNING | MB_DEFBUTTON2); switch(ret) { case IDABORT :ExitProcess(0) ;break; case IDRETRY :return NEED_DEBUG ;break; // DEBUG останов case IDIGNORE :ShowCursor(false); return NEED_IGNORE ; break; // Игнор } } return 0;}