AfxCheckMemory
此功能验证可用内存池并输出错误消息根据要求。
BOOL AfxCheckMemory( );
返回值
非零,如果没有内存错误;否则为 0。
备注
如果函数不检测内存损坏,它没有打印。
所有在堆内存块当前分配时检查,包括 new 赋值的字段,而不是赋值的字段直接调用基础内存分配器,例如 malloc 函数或 GlobalAlloc windows 函数。 如果任何块捕获损坏,消息打印到调试器输出。
如果包含行
#define new DEBUG_NEW
在程序模块,然后对的后续调用 AfxCheckMemory 显示分配内存的文件名和行号。
备注
如果您的模块包含可序列化类的一个或多个实现,则必须置于 #define 行,在上一 IMPLEMENT_SERIAL 宏调用之后。
此函数在 MFC 的调试版本只工作。
示例
CAge* pcage = new CAge(21); // CAge is derived from CObject.
Age* page = new Age(22); // Age is NOT derived from CObject.
*(((char*)pcage) - 1) = 99; // Corrupt preceding guard byte
*(((char*)page) - 1) = 99; // Corrupt preceding guard byte
AfxCheckMemory();
要求
Header: afx.h