debug 版的 exe 为什么不能和 release 版的 dll 一起用?

2016-03-21 07:51:17 +08:00
 jptanggordon

请教各位,我写了个 release 版的 dll ,想一直用,不再编译它。可是连上我的 debug 版的 exe 就出错。网上有的库就只有 release 版的 dll ,连接什么版本的 exe 都能用,这是怎么做的?

2646 次点击
所在节点    问与答
9 条回复
xdeng
2016-03-21 09:14:25 +08:00
因为 debug 版加入了 调试信息 debug 版的 new malloc free delete 不一样
pagict
2016-03-21 10:06:31 +08:00
为什么不先贴一下是什么错
3dwelcome
2016-03-21 10:10:38 +08:00
debug 有一个叫 Side by Side 的依赖东西,有可能调用不同版本的 msvcrt.dll 之类的,尽可能的多用 release 发布吧,省去很多麻烦。
stupidcat
2016-03-21 10:23:12 +08:00
楼主问的是,为什么网上的 dll 就是只有 release 版的,但是 debug 也能用,但是自己编译的 release 版的 dll ,在 debug 却不能用?
jptanggordon
2016-03-21 12:37:28 +08:00
@pagict 不报错,一开程序就死机
@stupidcat 对!
xujif
2016-03-21 12:50:07 +08:00
一般来说不会有问题的,可以先贴下错误
jptanggordon
2016-03-21 23:15:03 +08:00
@xujif 报错是: 0x77511037 (ntdll.dll) (Marching.exe 中)处有未经处理的异常: 0xC0000005: 读取位置 0x00000044 时发生访问冲突。
xujif
2016-03-21 23:30:49 +08:00
@jptanggordon 看着像野指针 debug 模式下面
xujif
2016-03-21 23:44:51 +08:00
debug 模式会初始化 cc 不一定出错。但是 release 会乱来。每次都是 0000044 ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/265030

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX