_CrtIsValidHeapPointer(pUserData)是什么意思?
2010-07-15 13:50Buggiant | 分类:VC++ | 浏览7754次
Expression:_CrtIsValidHeapPointer(pUserData)
这个表达式时因为什么样的错误才会出现?
还有userbreakpoint called from code at 0x7c92120e又是什么样的错误才会做这个提示?
分享到:
2010-07-15 16:17
提问者采纳
参考http://richardchenblog.blog.sohu.com/32362251.html,
你没有检查返回值
评论(1) | 1 0
擅长: 暂未定制
其他类似问题
· 2014-03-26程序出现_CrtIsValidHeapPointer(pUs... 3
· 2009-03-09_asserte(_crtisvalidheappointe... 3
· 2011-08-04Microsoft Visual C++ Debug Lib...
· 2011-05-22煎熬的意思是什么 275
· 2011-05-06女孩这样的行为是什么意思 6012
更多关于_CrtIsValidHeapPointer的问题>>
2010-07-15 14:11网友采纳
不是Crtls而是Ctrls
_CtrlsValidHeapPointer(pUserData) 堆指针有效性方面的意思。
引发的错误可能内存泄漏
评论(1) | 0 3
wangaochao1980 | 七级 采纳率47%
网友都在找:
按默认排序 | 按时间排序
其他2条回答
是_CrtIsValidHeapPointer,
检查pUserData是否有效
评论 | 0 0
2012-03-05 23:08热心网友
还有一种情况就是使用calloc函数或者malloc函数或者是ralloc函数,释放使可能数组越界,会出现这种情况
评论 | 5 0
等待您来回答
· 0回答索爱s-168的怎样调成收音机
· 0回答有看到有人用手机开自己家的门,好像是手机门铃,哪里有得卖??
· 0回答飞利浦X2560和飞利浦V200哪个好
· 0回答faiedu翻译怎么读?
· 0回答手机cpo吹怎么总有黑点怎么回事?
· 1回答02161292450是什么性质的电话。
· 0回答飞利浦vtr800如何录到卡上
· 0回答联想a355ewifi怎么样
· 0回答飞利浦rq1150/16多少钱
· 0回答金立w900拒接所有电话号码
· 0回答我的手机丢了,怎样能找到?
· 0回答 10 我的彩信没有吗?
· 0回答手机冲值看书包月怎么抄做
· 0回答xk3190a12e开机后显示Err3
没有感兴趣的问题?试试更多等待您来回答的问题>>
Expression: _CrtIsValidHeapPointer(pUserData)
分类:Debug | 2007-02-02 19:20阅读(8121)评论(3)
打算把编程中出现的比较麻烦的问题都记下来,一来以后出现同样的问题有证可查,二来如果有人遇到同样的问题,那么就不用那么费劲自己死磕了~
!!Expression:_CrtIsValidHeapPointer(pUserData)
voidCImageRecView::OnFileColhistogram()
{
// TODO: Add your command handler code here
CImageRecDoc *pDoc = GetDocument();
LPSTR lpDIB;
ColHistogram MyColHist;
lpDIB = (LPSTR)::GlobalLock((HGLOBAL)pDoc->GetHDIB());
pMyColHist->RGBtoHSV(lpDIB);
::GlobalUnlock((HGLOBAL)pDoc->GetHDIB());
}
问题就出在红色的地方,自定义了一个类
将上面的语句改为
ColHistogram* pMyColHist;
pMyColHist = new ColHistogram;
就可以了,不过现在也不知道为什么
(MSDN)中的这段话
The _CrtIsValidHeapPointer function is used to ensure that a specific memory address is within the local heap. The “local” heap refers to the heap created and managed by a particular instance of the C run-time library. If a dynamically linked library (DLL) contains a static link to the run-time library, then it has its own instance of the run-time heap, and therefore its own heap, independent of the application’s local heap. When _DEBUG is not defined, calls to _CrtIsValidHeapPointer are removed during preprocessing.
看了这段话稍微觉得有点意思了,我在程序中自己申请了本地堆,也有要生成动态连接库的DIB类,要连接c运行库,那么我的ColHistogram的实例必须动态生成,因为它在c运行库中没有对应的堆。比如我添加Cstringstr;程序就不会有问题,但是我只知道CString是系统定义的,和c运行库有什么关系我就不清楚了。如果静态链接C运行库,那么,dll就要拥有一个独立于应用程序(调用它的exe)的本地堆(但是我的程序没有),如果没有定义_DEBUG,那么_CrtIsValidHeapPointer将被预处理器移除。大概就是这个样子,上面所说的很多东西我都不确定,只是现在的一种解释。
还有dbgheap.c文件似乎是在dll里,还没有办法看
分享到:
最后修改于2007-02-03 12:12 阅读(8121)评论(3)
评论 想第一时间抢沙发么?
搜狐网友
02月03日 04:04
回复
这个程序是把RGB换成HSV然后看Histogram?
ming
搜狐网友26220611
02月03日 11:27
回复
搜狐网友在上文中提到:
这个程序是把RGB换成HSV然后看Histogram?ming
恩,是啊,求出颜色直方图做为图像特征
搜狐网友
02月03日 15:04
回复
卧槽,在matlab里面两句话的事情到C里面就变成个事儿了
看来我得开始看C了
ming
1302

被折叠的 条评论
为什么被折叠?



