⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checks.c

📁 gumstiz u-boot loader in linux
💻 C
字号:
/******************************************************************************                   SciTech OS Portability Manager Library**  ========================================================================**    The contents of this file are subject to the SciTech MGL Public*    License Version 1.0 (the "License"); you may not use this file*    except in compliance with the License. You may obtain a copy of*    the License at http://www.scitechsoft.com/mgl-license.txt**    Software distributed under the License is distributed on an*    "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or*    implied. See the License for the specific language governing*    rights and limitations under the License.**    The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.**    The Initial Developer of the Original Code is SciTech Software, Inc.*    All Rights Reserved.**  ========================================================================** Language:     ANSI C* Environment:  Any** Description:  Main module for building checked builds of products with*               assertions and trace code.*****************************************************************************/#include "scitech.h"#include <stdio.h>#include <stdlib.h>#include <string.h>#ifdef  __WINDOWS__#define WIN32_LEAN_AND_MEAN#define STRICT#include <windows.h>#endif#ifdef  CHECKED/*---------------------------- Global variables ---------------------------*/#define LOGFILE "\\scitech.log"void (*_CHK_fail)(int fatal,const char *msg,const char *cond,const char *file,int line) = _CHK_defaultFail;/*---------------------------- Implementation -----------------------------*//****************************************************************************DESCRIPTION:Handles fatal error and warning conditions for checked builds.HEADER:scitech.hREMARKS:This function is called whenever an inline check or warning fails in anyof the SciTech runtime libraries. Warning conditions simply cause thecondition to be logged to the log file and send to the system debuggerunder Window. Fatal error conditions do all of the above, and thenterminate the program with a fatal error conditions.This handler may be overriden by the user code if necessary to replace itwith a different handler (the MGL for instance overrides this and replacesit with a handler that does an MGL_exit() before terminating the applicationso that it will clean up correctly.****************************************************************************/void _CHK_defaultFail(    int fatal,    const char *msg,    const char *cond,    const char *file,    int line){    char    buf[256];    FILE    *log = fopen(LOGFILE, "at+");    sprintf(buf,msg,cond,file,line);    if (log) {	fputs(buf,log);	fflush(log);	fclose(log);#ifdef  __WINDOWS__	OutputDebugStr(buf);#endif	}    if (fatal) {#ifdef  __WINDOWS__	MessageBox(NULL, buf,"Fatal Error!",MB_ICONEXCLAMATION);#else	fputs(buf,stderr);#endif	exit(-1);	}}#endif  /* CHECKED */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -