vs2005Release版本DLL执行调试没问题,直接在文件夹里运行程序执行相同操作崩掉。

指缝间的风 2012-04-30 06:40:02
碰到的问题很纠结。release版本生成的DLL载进去以后,直接调试程序没有问题,但是直接运行程序执行某个动作(会调用动态库里的函数)然后程序崩掉。用于调试DLL的程序和直接运行的程序都是同一个。
但是如果把DLL换成DEGUG版本的就什么问题都没有了,求教这是个什么状况引起的。
...全文
134 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
指缝间的风 2012-05-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

我想应该是DLL和调用DLL的程序版本不一致导致的。

一般来说,如果是EXE调用DLL,则EXE和DLL的版本最好保持一致。

另外,崩溃最常见的,就是在DLL中分配内存,而在EXE中进行释放。
[/Quote]
版本不一致怎么说?调用的库不一样么?我调用库都是设置了一样的。只是一个是DEBUG一个release版本。
找到原因了。
仔细看了下编译参数,发现release版本开了最大优化。最大优化能优化掉什么东西而最终导致这个问题呢?
super_admi 2012-05-01
  • 打赏
  • 举报
回复
我想应该是DLL和调用DLL的程序版本不一致导致的。

一般来说,如果是EXE调用DLL,则EXE和DLL的版本最好保持一致。

另外,崩溃最常见的,就是在DLL中分配内存,而在EXE中进行释放。

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧