VC6下DLL,VS2010下用,运行调试异常。

问题描述

VC6下DLL,VS2010下用,运行调试异常。

VC6下开发的DLL,在VC6下开发应用程序可以使用前述DLL,工程转换到VS2010之后也可以使用,但是在VS2010下直接使用前述DLL,编译可以通过,但是运行调试时报内存访问异常。请问大侠,该如何解决?

解决方案

两个可能性,一个是本来程序就有内存的问题,但是vc2010对内存的检查更严格,所以问题得以暴露。
另一个可能是单字节双字节的问题,或者一些结构体长度定义不同,你内存分配硬编码了长度,而不是用sizeof求值,导致内存分配不正确。

解决方案二:

不同编译器版本的实现有区别,微软是不保证不同版本的编译器之间的DLL能够互相调用,建议的方式是,exe,dll都用同一个版本的VS来编译调用

时间: 2024-09-16 01:30:54

VC6下DLL,VS2010下用,运行调试异常。的相关文章

VS2010下创建静态链接库和动态链接库

下面介绍一下用VS2010如何创建静态链接库和动态链接库,并测试创建的库. 1.静态链接库 打开VS2010,新建一个项目,选择win32项目,点击确定,选择静态库这个选项,预编译头文件可选可不选. 在这个空项目中,添加一个.h文件和一个.cpp文件.名字我们起为static.h和static.cpp static.h文件: [cpp] view plaincopy #ifndef LIB_H   #define LIB_H      extern "C" int sum(int a,

vc6下的代码,vs2008运行在win7下出错[下面的框架可能不正确和/或缺失,没有为 kernel32.dll 加载符号]

问题描述 我程序里用了cj60lib库vc6,vs2008在win7下编译都可以通过但是运行的时候就出错了,说是主线程的调用m_pMainWnd->ShowWindow(SW_MAXIMIZE);出错,说是m_pMainWnd指针为空.我打了断点,主窗口根本就没有执行创建.这段代码是以前在xp上用vc6开发的,现在用win7就出错了,不知道怎么回事.我用vs2008调试了一下,报了个这样的错............................这里一大段堆栈帧[下面的框架可能不正确和/或缺失,

vs2010下调试程序,出现“abc.dll”未使用调试信息生成二进制文件,怎样解决?

问题描述 vs2010下调试程序,出现"abc.dll"未使用调试信息生成二进制文件,怎样解决? 有好几个dll文件都出现这样的问题,然后编译不通过.怎么办? 解决方案 删除掉bin obj目录重新编译.你的pdb文件和你的exe不匹配造成的. 解决方案二: rebuild 你的整个工程试试 解决方案三: 清理工程,然后重新编译下试试 解决方案四: 就是 release版本的意思吧,区别于 可以调试的debug版本改成Debug模式,再重新编译看看. 解决方案五: http://www

求救,vs2010 平常状态和 调试状态下 同一个文件,但是内容不同

问题描述 vs2010平常状态和调试状态下同一个文件,但是内容不同:[img=http://my.csdn.net/my/album/detail/1177201][/img][img=http://my.csdn.net/my/album/detail/1177207][/img].有遇到过这种情况吗?求探讨 解决方案 解决方案二:看不到你的图.清理后重新编译.删除扩展名.manifest的文件解决方案三:没找到manifest文件呀,图片为:http://my.csdn.net/my/alb

流媒體】jrtplib—VS2010下RTP开源协议库JRTPLIB3.9.1编译

一.JRTPLIB简介 老外用C++编写的开源RTP协议库,用来进行实时数据传输,可以运行在 Windows.Linux. FreeBSD.Solaris.Unix和VxWorks 等多种操作系统上,主页为:http://research.edm.uhasselt.be/~jori/page/index.php?n=Main.HomePage   二.相关下载 jrtplib: http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.J

Windows 7 下如何配置PHP网站运行环境

本文适合PHP网站技术开发人员,对普通Windows7用户意义不大,敬请大家注意.一.Apache安装 版本解释:openssl是表示带有openssl模块,利用openssl就可以给Apache配置SSL安全链接的,也就是使用https://方式进行访问. nossl则表示不带OpenSSL模块,无 法用于SSL安全链接,在这里我们下载带OpenSSL的. 选择版本:apache_2.2.14-win32-x86-openssl-0.9.8k.msi (此处以32位为例) 下载地址:http:

【流媒體】live555—VS2010 下live555编译、使用及测试

Ⅰ live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等的支持.Live555实现了对多种音视频编码格式的音视频数据的流化.接收和处理等支持,包括MPEG.H.263+.DV.JPEG视频和多种音频编码.同时由于良好的设计,Live555非常容易扩展对其他格式的支持.目前,Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan).MPlayer. 该项目的源代码包括

在Windows系统下怎么部署PHP网站运行环境?

  这篇教程是向脚本之家的朋友介绍在Windows系统下怎么部署PHP网站运行环境方法,教程真的很不错,适合PHP网站技术开发人员,推荐过来,一起来学习吧! 开源意味着Bug会暴露给所有人,也会促进悟空CRM更快的消除Bug 开源意味着我们不会在程序里动手脚,我们不会窃取您宝贵的商业机密 开源意味着您可以自己搭建运行环境,不用把敏感的商业数据交给别人 基于Windows操作系统的开源软件运行 工具/原料 Windows操作系统 悟空CRM安装包(安装包下载) WAMP集成环境(环境下载) 谷歌浏

解决Win7下安装VS2010不显示序列号框的两种方法

VS2010在Windows 7下安装,一些朋友发现怎么在安装的时候输入序列号框怎么不出现呢?这该如何解决?下面西部e网的icech就找到了两种解决方法帮您解决这个问题: 1.修改setup.sdb文件的方法 这是一个老办法了,setup.sdb文件是从ISO文件中提取出来的setup文件进行编辑,只需要修改里面的[Product Key]项,在安装的时候就不用输入序列号了. 这里icech提供的是: [Product Key] YCFHQ9DWCYDKV88T2TMHG7BHP 也可以根据你的