如何在visual studio 2005 中实现 dll 的延迟加载?

superflytiger 2009-05-02 05:07:38
是最近在看《windows核心编程》(第四版)第20章的DelayLoadApp才发现这个问题的。我在VC6.0下验证过,没问题。但在vs2005下链接时出现问题。后来网上查,原来vs2005不支持在代码中加入#pragma comment(linker,"/DelayLoad:....")和#pragma comment(linker,"Delay:unload")的编译指令。后来我在vs2005的项目属性里设置了DelayLoad 和 unload开关,但没找到nobind开关。这样设置后,链接时出现以下问题:
错误 1 fatal error LNK1104: 无法打开文件“DelayLoadLib.dll” 20 DelayLoadApp

是不是还有什么没有设置好呢?VC6.0和vs2005还有哪些地方是不兼容的?

...全文
355 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hupo1982 2009-05-04
  • 打赏
  • 举报
回复
怎么解决的,说一下啊,让我们学习一下
superflytiger 2009-05-04
  • 打赏
  • 举报
回复
项目=》属性=》配置属性=》链接器=》输入:在延迟加载的DLL的条目中填入延迟加载的动态链库的名字。
项目=》属性=》配置属性=》链接器=》高级:在延迟加载的DLL的条目中选择 支持卸载(/DELAY:UNLOAD)就可以了。
其实我觉得还是VC6.0可以在码中用编译命令来做更好一点。
由于我的积分也不多,所以不给分了^_^.
mengde007 2009-05-03
  • 打赏
  • 举报
回复
接分了;
superflytiger 2009-05-02
  • 打赏
  • 举报
回复
已解决^_^

15,472

社区成员

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

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