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

📄 debug.h

📁 缓冲 缓冲 缓冲 缓冲 缓冲 缓冲
💻 H
字号:
// Debug.h: interface for the Debug class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DEBUG_H__FD20013A_56C7_4C74_867C_267AA449EE4D__INCLUDED_)
#define AFX_DEBUG_H__FD20013A_56C7_4C74_867C_267AA449EE4D__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#ifdef _DEBUG

inline void debugTrace(const char* format, ...)
{
		va_list args;
		va_start(args, format);
	
#ifdef _WIN32
		char buf[512];
		_vsnprintf(buf, sizeof(buf), format, args);
		OutputDebugStringA(buf);
#else // _WIN32
		vprintf(format, args);
#endif // _WIN32
		va_end(args);
}

#define dcdebug debugTrace
#ifdef _WIN32
#define dcassert(exp) \
do { if (!(exp)) { \
	dcdebug("Assertion hit in %s(%d): " #exp "\n", __FILE__, __LINE__); \
	if(1 == _CrtDbgReport(_CRT_ASSERT, __FILE__, __LINE__, NULL, #exp)) \
_CrtDbgBreak(); } } while(false)
#define dcasserta(exp) dcassert(0)
#else
#include <assert.h>
#define dcasserta(exp) assert(exp)
#define dcassert(exp) assert(exp)
#endif
#define dcdrun(exp) exp
#else //_DEBUG
#ifdef _WIN32
#define dcasserta(exp) __assume(exp)
#else
#define dcasserta(exp)
#endif // _WIN32
#define dcdebug if (false) printf
#define dcassert(exp)
#define dcdrun(exp)
#endif //_DEBUG

#endif // !defined(AFX_DEBUG_H__FD20013A_56C7_4C74_867C_267AA449EE4D__INCLUDED_)

⌨️ 快捷键说明

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