首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

MFC中malloc分配的内存储器,使用free出错(急等)

2013-07-04 
MFC中malloc分配的内存,使用free出错(急等)MFC写的对话框程序,有调用dll,但是malloc与free都是在exe中实现

MFC中malloc分配的内存,使用free出错(急等)
MFC写的对话框程序,有调用dll,但是malloc与free都是在exe中实现的,没有在dll中调用

程序malloc之后不使用free没有问题,使用free就出问题。

程序的属性设置的是“在共享中DLL中使用MFC”,更改属性,设置为“在静态库中使用MFC”后,结果一样



为什么一使用free就出错?
不用的话,malloc开辟的内存,在程序结尾是否能够被清除干净? MFC?内存?free
[解决办法]
肯定是这个原因:分配的内存块,写操作时尾部越界了,
free时会判断尾部额外标记是否被改写,如果是的话就报异常。
你这样观察:malloc之后马上看该内存尾部,free时再看是被改写成什么了。

热点排行