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

📄 debug.h

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 H
字号:
/* * debug.h * Copyright (C) 1998-2005 A.J. van Os; Released under GPL * * Description: * Macro's for debuging. */#if !defined(__debug_h)#define __debug_h 1#include <stdio.h>#include <ctype.h>#if defined(DEBUG)#define DBG_MSG(t)	(void)fprintf(stderr,\				"%s[%3d]: %.240s\n",\				__FILE__, __LINE__, (t))#define DBG_STRN(t,m)	(void)fprintf(stderr,\				"%s[%3d]: %d '%.*s'\n",\				__FILE__, __LINE__,\				(int)(m), (int)(m), (const char *)(t))#define DBG_CHR(m)    (void)fprintf(stderr,\				"%s[%3d]: "#m" = %3d 0x%02x '%c'\n",\				__FILE__, __LINE__,\				(int)(m), (unsigned int)(unsigned char)(m),\				isprint((int)(unsigned char)(m))?(char)(m):' ')#define DBG_DEC(m)	(void)fprintf(stderr,\				"%s[%3d]: "#m" = %ld\n",\				__FILE__, __LINE__, (long)(m))#define DBG_HEX(m)	(void)fprintf(stderr,\				"%s[%3d]: "#m" = 0x%02lx\n",\				__FILE__, __LINE__, (unsigned long)(m))#define DBG_FLT(m)	(void)fprintf(stderr,\				"%s[%3d]: "#m" = %.3f\n",\				__FILE__, __LINE__, (double)(m))#define DBG_FIXME()	(void)fprintf(stderr,\				"%s[%3d]: FIXME\n",\				__FILE__, __LINE__)#define DBG_PRINT_BLOCK(b,m)	vPrintBlock(__FILE__, __LINE__,(b),(m))#define DBG_UNICODE(t)		vPrintUnicode(__FILE__, __LINE__,\					(const UCHAR *)(t),unilen(t))#define DBG_UNICODE_N(t,m)	vPrintUnicode(__FILE__, __LINE__,\					(const UCHAR *)(t),(m))#define DBG_MSG_C(c,t)		do { if (c) DBG_MSG(t); } while(0)#define DBG_STRN_C(c,t,m)	do { if (c) DBG_STRN(t,m); } while(0)#define DBG_CHR_C(c,m)		do { if (c) DBG_CHR(m); } while(0)#define DBG_DEC_C(c,m)		do { if (c) DBG_DEC(m); } while(0)#define DBG_HEX_C(c,m)		do { if (c) DBG_HEX(m); } while(0)#define DBG_FLT_C(c,m)		do { if (c) DBG_FLT(m); } while(0)#else#define DBG_MSG(t)		/* EMPTY */#define DBG_STRN(t,m)		/* EMPTY */#define DBG_CHR(m)		/* EMPTY */#define DBG_DEC(m)		/* EMPTY */#define DBG_HEX(m)		/* EMPTY */#define DBG_FLT(m)		/* EMPTY */#define DBG_FIXME()		/* EMPTY */#define DBG_PRINT_BLOCK(b,m)	/* EMPTY */#define DBG_UNICODE(t)		/* EMPTY */#define DBG_UNICODE_N(t,m)	/* EMPTY */#define DBG_MSG_C(c,t)		/* EMPTY */#define DBG_STRN_C(c,t,m)	/* EMPTY */#define DBG_CHR_C(c,m)		/* EMPTY */#define DBG_DEC_C(c,m)		/* EMPTY */#define DBG_HEX_C(c,m)		/* EMPTY */#define DBG_FLT_C(c,m)		/* EMPTY */#endif /* DEBUG */#define NO_DBG_MSG(t)		/* EMPTY */#define NO_DBG_STRN(t,m)	/* EMPTY */#define NO_DBG_CHR(m)		/* EMPTY */#define NO_DBG_DEC(m)		/* EMPTY */#define NO_DBG_HEX(m)		/* EMPTY */#define NO_DBG_FLT(m)		/* EMPTY */#define NO_DBG_PRINT_BLOCK(b,m)	/* EMPTY */#define NO_DBG_UNICODE(t)	/* EMPTY */#define NO_DBG_UNICODE_N(t,m)	/* EMPTY */#define NO_DBG_MSG_C(c,t)	/* EMPTY */#define NO_DBG_STRN_C(c,t,m)	/* EMPTY */#define NO_DBG_CHR_C(c,m)	/* EMPTY */#define NO_DBG_DEC_C(c,m)	/* EMPTY */#define NO_DBG_HEX_C(c,m)	/* EMPTY */#define NO_DBG_FLT_C(c,m)	/* EMPTY */#if defined(TRACE)#define TRACE_MSG(t)	do {\			(void)fprintf(stderr,\				"%s[%3d]: TRACE:%.40s\n",\				__FILE__, __LINE__, (t));\			(void)fflush(stderr);\			} while(0)#else#define TRACE_MSG(t)		/* EMPTY */#endif /* TRACE */#endif /* !__debug_h */

⌨️ 快捷键说明

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