马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
功能: _heapwalk函数用于扫描获得堆下一个项目信息  
函数原型: int _heapwalk (_HEAPINFO * entryinfo);    
参数: --注:VC中该结构体成员含义如下: _useflag成员: _FREEENTRY表示该项目已被用,_USEDENTRY表示未被使用 _size成员:该项目大小 _pentry成员:该项目入口(作为这个函数开始扫描的地址)    
返回值: 成功返回状态常量值,否则把全局变量errno设置为ENOSYS --注:VC中常量值含义如下: 堆空                    ——-1 堆正常                 ——-2 堆错误开始                   ——-3 堆坏节点             ——-4 堆结束                 ——-5 堆坏点                 ——-6  
 
要求:  
举例: - #include <stdio.h>
 
 - #include <malloc.h>
 
  
- int main(void)
 
 - {
 
 -     _HEAPINFO hinfo;
 
 -     hinfo._pentry = NULL;//从起始地址开始查询
 
  
-     while(_HEAPOK == _heapwalk(&hinfo))//如果堆正常
 
 -     {
 
 -         if(_USEDENTRY == hinfo._useflag)//已被使用
 
 -         {
 
 -             printf("已被使用\n");
 
 -         }
 
 -         else
 
 -         {
 
 -             printf("未被使用\n");
 
 -         }
 
 -         printf("堆入口为:%08X 堆大小为%d字节\n\n", hinfo._pentry, hinfo._size);
 
 -     }
 
 -     return 0;
 
 - }
 
  复制代码 
运行效果:  
 |