动态连接库的两种方式 ?

 我来答
廖琲02x
2015-09-11 · 超过72用户采纳过TA的回答
知道答主
回答量:131
采纳率:0%
帮助的人:162万
展开全部
调用一个DLL中的函数有两种方法:
1.载入时动态链接(load-time dynamic linking),模块非常明确调用某个导出函数,使得他们就像本地函数一样。这需要链接时链接那些函数所在DLL的导入库,导入库向系统提供了载入DLL时所需的信息及DLL函数定位。
2.运行时动态链接(run-time dynamic linking),运行时可以通过LoadLibrary或LoadLibraryEx函数载入DLL。DLL载入后,模块可以通过调用GetProcAddress获取DLL函数的出口地址,然后就可以通过返回的函数指针调用DLL函数了。如此即可避免导入库文件了
Storm代理
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效... 点击进入详情页
本回答由Storm代理提供
jsntr88
高粉答主

2015-12-04 · 醉心答题,欢迎关注
知道顶级答主
回答量:6.5万
采纳率:91%
帮助的人:6386万
展开全部
  动态链接库加载函数的两种方法:
  第一种是静态链接方式,在这种方式下,动态链接库中的所有数据代码都将拷贝到调用程序的代码空间中去,此时它和调用程序本身的函数没有什么区别;
  第二种是动态链接方式,在这种方式下,动态链接库中的数据代码是在需要的时候才拷贝到内存中去的;
  两种方式都可以将外部(动态链接库中的)代码资源提供给调用者使用,但前者是全局的,虽随时可以使用,但会增加内存;而后者是局部的,虽节省了内存,但会增加调用时间。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bh6635
2018-09-23 · TA获得超过234个赞
知道答主
回答量:172
采纳率:30%
帮助的人:13.6万
展开全部
载入时动态链接与运行时动态链接的区别
(一)载入时动态链接
操作系统将程序载入内存时,也将程序中用到的库文件映射到进程的地址空间中。
(二)运行时动态链接
操作系统将程序载入内存时,不将程序中用到的库文件映射到进程的地址空间中。
当程序中的LoadLibrary()函数被执行时,相应的库文件才开始被映射到进程的地址空间中。
如果该函数被包含在一个if语句中,条件不成立时,该函数不会被执行,相应的库文件也不会被映射到进程的地址空间中。

参考资料:
尤晋元《windows 操作系统原理》
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式