_CrtIsValidPointer 问题

news/2024/7/11 1:02:39 标签: C, C++, C#, .net, Blog

从微软站点:

检查指针有效性下面的示例使用 _CrtIsValidPointer 验证给定的内存范围对于读或写是否有效。

_ASSERTE(_CrtIsValidPointer( address, size, TRUE );

下面的示例使用 _CrtIsValidHeapPointer 验证指针指向本地堆(由 C 运行时库的这个实例创建和管理的堆;

DLL 可以有它自己的库实例,因而也可以有它自己的、位于应用程序堆之外的堆)中的内存。

该断言不仅捕捉空地址或超出边界的地址,还捕捉指向静态变量、堆栈变量和其他任何非本地内存的指针。

_ASSERTE(_CrtIsValidPointer( myData );

========

CSDN.NET _CrtIsValidHeapPointer(pUserData)的问题: _CrtIsValidHeapPointer确认内存地址在本地堆。……

如果静态链接C运行库,那么,dll拥有一个独立于应用程序(调用它的exe)的本地堆。

(所以你上面的程序会Debug Assertion Failed),如果没有定义_DEBUG,那么_CrtIsValidHeapPointer将被预处理器移除。

如果是:Debug Assertion Failed!

解决的方法有二:

1、动态链接C运行库:

2、设置统一的Debug/Release版本(比如全部设置为release版本);

(ok) 如果“Assertion Failed”的话,估计程序是会出问题的.

本文来自http://blog.csdn.net/yecao_kinux/archive/2007/03/26/1541740.aspx


http://www.niftyadmin.cn/n/585152.html

相关文章

上传文件名乱码的解决

对文件名进行了无数次转码,用gbkToUtf8有时还是会出现乱码,于是又google了一通,终于用以下办法解决了: DiskFileItemFactory factory new DiskFileItemFactory(); ServletFileUpload upload new ServletFileUpload(factory); u…

使用Oracle的审计功能记录连接数据库登录失败的用户信息

最近公司有一个项目,用的oracle数据库,整天出现用户被锁的情况,后来百度查了一下,说是用户登录连续出错10次就会被锁住。于是想记录一下看看到底是哪个人在扫数据库的密码。百度了很久才找到方法,下面分享…… 使用sys…

Windows 环境变量大全

Windows 环境变量大全 如工作环境变量或驱动器,文件/文件夹名称和各种路径的别名。windows环境变量大全 Windows XP 环境变量 %ALLUSERSPROFILE% C:\Documents and Settings\All Users %APPDATA% C:\Documents and Settings\用户名\Application Data %COM…

google svn setting无法获得密码的解决办法

废话少说,在 C:WINDOWS/system32/drivers/etc 目录下的 hosts文件 修改本地dns设置 ,添加 在hosts文件 里加上 66.249.89.104 code.google.com 即可搞定了

ORA-01157错误,丢失undo tablespace中数据文件的解决方法

我们先来看一下这个现象: [oracledjp ora12]$ pwd/u01/app/oracle/oradata/ora12[oracledjp ora12]$ mv undotbs01.dbf undotbs01.dbfbak这里,我们把unto表空间对应的数据文件作了一个更改,表面该文件已经丢失。下面,我们使用SQL*…

关于Word文档选中的内容无法用退格backspace键删除的解决办法

在菜单栏:工具----选项----编辑,然后将“替换选定内容”前的框打钩,按确定即可。 网上找的办法~确实管用

买电视的遭遇

在买冰箱的同时也买了台海尔电视机,是想着给老爷子改善一下。昨天说过了,在拒绝冰箱的时候,他们把我的电视机也停了。后来跟客服沟通后,约好今天送来的。 等7点我到家的时候,他们还没到,本来就想等他们来完…

Maven项目加载JAR包

登陆网站找jar包:http://mvnrepository.com/ 1、http://mvnrepository.com/artifact/net.sf.jxls/jxls-core/1.0.6 点击“maven”复制里边的配置如下图: 2、打开项目中pom.xml文件,把1中复制的信息粘贴到里边 3、pom.xml右键——》run as——…