002 - WINX概览:基础支撑
*) 基础支撑的实现原则
• 不假设自己是用户独立使用的库。
• 所以尽量检测用户是否使用了某种流行的库,选择该库已有的。
• 举例:WINX_ASSERT
#if defined(ASSERT)
#define WINX_ASSERT(e)ASSERT(e)
#elif defined(_ASSERTE)
#define WINX_ASSERT(e)_ASSERTE(e)
#else
#ifdef _DEBUG
#define WINX_ASSERT(e)assert(e)
#else
#define WINX_ASSERT(e)0
#endif
#endif
*) 不完全列表
• 基础类,多数来自WTL
–CPoint
–CRect
–CSize
–CString
–CFindFile
–CRecentDocumentList
–WindowRect
–ClientRect
• 通用
–_offsetof、parent_class_ptr、countof
–MsgBox
–WINX_DEFINE_IID、WINX_UUID
• 调试/诊断
–WINX_ASSERT
–WINX_ASSERT_OK
–WINX_ASSERT_ONCE
–WINX_ASSERT_DERIVE
–WINX_REPORT
–WINX_VERIFY
–WINX_VERIFY_OK
–WINX_TRACE
没有评论:
发表评论