开发者社区> 问答> 正文

关于c++程序“本地堆”的问题

编程的时候,遇到的问题。
我调用了第三方的动态库,在计算某个内存块的大小时,用到了 _msize _函数,结果
产生了一个ASSERT错误,查看文件大概是在_ASSERTE(_CrtIsValidHeapPointer(pUserData)这个地方差生了错误,并且他的注释之中提到了这样一句,The pointer MUST come from the 'local' heap. 我不太理解,什么事'local' heap?
希望有懂得大神,帮忙解答

展开
收起
a123456678 2016-03-05 16:53:37 2161 0
1 条回答
写回答
取消 提交回答
  • 本地堆
    验证指针指向本地堆(由 C 运行时库的这个实例创建和管理的堆;DLL 可以有它自己的库实例,因而也可以有它自己的、位于应用程序堆之外的堆)中的内存。内存访问越界了。
    进程中,加载的dll也会分配一块自己的堆,以便维护区分跟进程本身的堆。当然也可以设置成dll,exe共享堆的方式。

    2019-07-17 18:53:48
    赞同 展开评论 打赏
问答分类:
C++
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
使用C++11开发PHP7扩展 立即下载
GPON Class C++ SFP O;T Transce 立即下载
GPON Class C++ SFP OLT Transce 立即下载