有的dll只有release的, 比如 msado15.dll只有release的。我们的程序使用之,可偏偏要有些人认为: debug程序就使用debug版本的
dll,release程序使用release版本的dll,还说: 如果不对应,会出各种莫名其妙的问题?很多dll只有一个版本的, 这岂不是睁眼说瞎话吗?
dll,release程序使用release版本的dll,还说: 如果不对应,会出各种莫名其妙的问题?很多dll只有一个版本的, 这岂不是睁眼说瞎话吗?
那不如直接 release 了。
具体的可以查看http://www.cnblogs.com/fishtreeyu/archive/2011/11/27/2265023.html
但是有的确实只有一个版本的exe和 一个版本的dll当你的程序却和这些exe, dll交互的时候,你怎么办?它只有一个版本
那是 它 不让你 调试 他,
这是 debug 版本 只能用 它,有没有问题 很难说。
但是有的确实只有一个版本的exe和 一个版本的dll当你的程序却和这些exe, dll交互的时候,你怎么办?它只有一个版本只有一个版本不是更好,否则还要#ifdef _DEBUG
如此说, debug exe对应 release dll是没有问题了?而release exe 对应一个debug dll,则可能有问题?是不是这个意思啊
自然就互相对应比较好。
不然找出很多错误根本就不是错误,只是版本不对造成的!!
或者出了错找不到,这个责任谁也没法负责,说不清楚呀!!
如果你不使用对应的版本,你试试,看看会不会有问题,比如报内存泄漏什么的。msado15.dll在debug和release下都能使用,不代表其它的dll都必须这样。
为了调试,一个类在debug和release下的大小甚至都不一样,你说有没有问题?你没做过不代表不可以这样做。类似这样的问题我在07年写过博客,当时在我一个mfc扩展dll上出现内存泄漏。总之一句话,能否在release和debug版本下使用同一个版本的dll,取决于这个dll本身在。
但是如果是普通dll,则要小心,这也属于臭名招著的dll hell问题的一部分(当然更多的还是dll升级造成的问题)。