请教各位,我写了个 release 版的 dll ,想一直用,不再编译它。可是连上我的 debug 版的 exe 就出错。网上有的库就只有 release 版的 dll ,连接什么版本的 exe 都能用,这是怎么做的?
1
xdeng 2016-03-21 09:14:25 +08:00
因为 debug 版加入了 调试信息 debug 版的 new malloc free delete 不一样
|
2
pagict 2016-03-21 10:06:31 +08:00
为什么不先贴一下是什么错
|
3
3dwelcome 2016-03-21 10:10:38 +08:00
debug 有一个叫 Side by Side 的依赖东西,有可能调用不同版本的 msvcrt.dll 之类的,尽可能的多用 release 发布吧,省去很多麻烦。
|
4
stupidcat 2016-03-21 10:23:12 +08:00
楼主问的是,为什么网上的 dll 就是只有 release 版的,但是 debug 也能用,但是自己编译的 release 版的 dll ,在 debug 却不能用?
|
5
jptanggordon OP |
6
xujif 2016-03-21 12:50:07 +08:00
一般来说不会有问题的,可以先贴下错误
|
7
jptanggordon OP @xujif 报错是: 0x77511037 (ntdll.dll) (Marching.exe 中)处有未经处理的异常: 0xC0000005: 读取位置 0x00000044 时发生访问冲突。
|
8
xujif 2016-03-21 23:30:49 +08:00 via iPhone
@jptanggordon 看着像野指针 debug 模式下面
|
9
xujif 2016-03-21 23:44:51 +08:00 via iPhone
debug 模式会初始化 cc 不一定出错。但是 release 会乱来。每次都是 0000044 ?
|