术语 | CMemoryState | ||||||||||||||||
释义 | CMemoryState CMemoryState类没有基类。 CMemoryState提供了便利的方式以检测程序中的“内存空洞”。“内存空洞”发生于已经为一个对象分配了内存,而在长期不再需要时也没有释放。这样的内存空洞最终可能导致内存溢出错误。有几种方式来为程序分配或重新分配内存:
与其它诊断相同,CMemoryState诊断也仅仅在程序的调试版中有效。 调试版必须有_DEBUG常量定义。 如果怀疑程序中有内存空洞,那么可以使用Checkpoint, Difference及DumpStatistics 函数来找出程序执行完成后,两个不同点之间内存状态(分配内存的对象)的不同。该信息对于决定函数是否清除了所有分配内存的对象非常有用。 如果仅仅知道当内存分配或内存释放时不均衡发生于何处,它并没有提供足够的信息,因此可以使用DumpAllObjectSince函数来转储自从前一次调用Checkpoint函数以来分配的所有对象。这种转储显示了内存分配次序,源文件及被分配对象所在的行(条件是使用了DEBUG_NEW)以及派生对象、其地址、大小。DumpAllObjectSince对象也调用了每一个对象的Dump函数以提供有关的信息。 如果要了解有关如何使用CMemoryState和其它诊断的信息,请参阅联机文档“Visual C++程序员指南”中的“MFC调试支持”。 注意: CMemoryState类型的对象声明以及成员函数的调用必须用#ifdefined (_DEBUG)/#endif括起来,以便仅在程序的调试版本中包含内存诊断。 CMemoryState类的成员 构造函数
操作
|
||||||||||||||||
随便看 |
|
MFC类库中文详解手册包含4274条MFC类库参考词条,基本涵盖了Microsoft基本类库中的类、全局函数、全局变量和宏的内容,是计算机编程的有利工具。