57 lines
1.5 KiB
C
57 lines
1.5 KiB
C
//+--------------------------------------------------------------------------
|
|
//
|
|
// Copyright (C) 1994, Microsoft Corporation. All Rights Reserved.
|
|
//
|
|
// File: Debug.h
|
|
//
|
|
// History: 22-May-95 PatHal Created.
|
|
//
|
|
//---------------------------------------------------------------------------
|
|
|
|
#ifndef _DEBUG_
|
|
#define _DEBUG_
|
|
|
|
#ifdef _DEBUG
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
// in NLGlib.h
|
|
// extern void DebugAssert(LPCTSTR, LPCTSTR, UINT);
|
|
// extern void SetAssertOptions(DWORD);
|
|
//
|
|
|
|
// Optional assert behavior
|
|
#define AssertOptionWriteToFile 0x01
|
|
#define AssertOptionShowAlert 0x02
|
|
// Continue and exit are mutually exclusive
|
|
#define AssertOptionContinue 0x00
|
|
#define AssertOptionExit 0x04
|
|
#define AssertOptionCallDebugger 0x08
|
|
#define AssertOptionUseVCAssert 0x10
|
|
|
|
#define AssertDefaultBehavior (AssertOptionUseVCAssert)
|
|
|
|
#define bAssertWriteToFile() ((fAssertFlags & AssertOptionWriteToFile) != 0)
|
|
#define bAssertShowAlert() ((fAssertFlags & AssertOptionShowAlert) != 0)
|
|
#define bAssertExit() ((fAssertFlags & AssertOptionExit) != 0)
|
|
#define bAssertCallDebugger() ((fAssertFlags & AssertOptionCallDebugger) != 0)
|
|
#define bAssertUseVCAssert() ((fAssertFlags & AssertOptionUseVCAssert) != 0)
|
|
|
|
|
|
#define Assert(a) { if (!(a)) DebugAssert((LPCTSTR)L#a, TEXT(__FILE__), __LINE__); }
|
|
#define AssertSz(a,t) { if (!(a)) DebugAssert((LPCTSTR)t, TEXT(__FILE__), __LINE__); }
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#else // _DEBUG
|
|
|
|
#define Assert(a)
|
|
#define AssertSz(a,t)
|
|
|
|
#endif // _DEBUG
|
|
|
|
#endif // _DEBUG_
|