动态库的问题

shicheng521 2006-05-23 10:47:34
从动态库导出了一个类,测试这个动态库的时候,如果debug下调用debug下生成的动态库没有问题,release下调用release下生成的动态库也没有问题,但是交叉调用的话就会出现一些问题,谁知道怎么回事?

...全文
227 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Practise_Think 2006-05-25
  • 打赏
  • 举报
回复
用DEBUG宏来控制链接的DLL就行了
shicheng521 2006-05-25
  • 打赏
  • 举报
回复
_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetInstanceHandle()
{ ASSERT(afxCurrentInstanceHandle != NULL);

在这个地方出现错误
DentistryDoctor 2006-05-24
  • 打赏
  • 举报
回复
出现一些问题?什么问题?
折腾_苏州 2006-05-24
  • 打赏
  • 举报
回复
我也遇到过类似问题,有个办法不妨试试...
在双方Debug或者Release的工程设置中的Project settings->C/C++->CateGory选Code Generation,然后Use Runtime Lib里面都选一样的设置如:Debug Multithread Dll...
zx_sanjin 2006-05-24
  • 打赏
  • 举报
回复
转:
发布两个版本的DLL和LIB文件(Debug版本和Release版本)。因为如果只发布Release版本,开发者将无法调试他们的程序,因为Release版与Debug版使用了不同的堆(Heap)管理器,因而当Debug版本的客户程序释放Release版本DLL申请的内存时,会导致运行时错误(Runtime failure)。有一种办法可以解决这个问题,就是DLL同时提供申请和释放内存的函数供客户程序调用;DLL中也保证不释放客户程序申请的内容。通常遵守这个约定不是那么简单!

http://www.yesky.com/80/1910580_1.shtml

另外百度一下dll hell,会了解的更多
-----------------------------------------------
MyCSDN : http://community.csdn.net/Expert/TopicView.asp?id=4731658
shicheng521 2006-05-23
  • 打赏
  • 举报
回复
就是楼上说的release调用debug的, debug调用release的
jasonshark 2006-05-23
  • 打赏
  • 举报
回复
Release调用Debug的我也遇见过这样的问题,没搞清楚,最后统一build成了Release的。
另外Debug的调用Release没问题
syy64 2006-05-23
  • 打赏
  • 举报
回复
何谓交叉调用?
DentistryDoctor 2006-05-23
  • 打赏
  • 举报
回复
得看具体情况。
syy64 2006-05-23
  • 打赏
  • 举报
回复
也可能是你另外的DLL有问题。
shicheng521 2006-05-23
  • 打赏
  • 举报
回复
怎么没有人了

15,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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