DLL与调用函数有什么本质区别?

blackrye 2003-01-13 02:11:47
RT
...全文
76 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
demetry 2003-01-14
  • 打赏
  • 举报
回复
lizmei001(暗黑) 说得像绕口令。^_^

从原理上讲,DLL和调用函数之间的最大差别在于应用程序与库链接的时间。当时用静态链接lib或调用自己的函数时,应用程序在变异和编连过程中就连接到库中的功能模块上。库文件的功能模块成为应用程序可知性文件的一部分。而当使用dll时,应用程序在运行时才连接到库文件的功能模块上。库文件保留了一个单独的文件,共应用程序引用和调用。

从使用角度讲,通过把多个应用程序共同使用的功能模块加入有所用应用程序共享的dll中,可以叫小应用程序可知性文件的大小。另外,可以更新和修改dll中的功能模块而不必更新可执行的应用程序(假定dll得导出界面不变)。还有一个重要的意义时,可以和任何其他windows编程语言一起使用dll(正则dll),这使得功能模块可用于范围更广泛的编程人员,而不仅仅是使用vc的编程人员。
Zark 2003-01-14
  • 打赏
  • 举报
回复
又是一个奇怪的问题.

对于楼主来说,比如:

CreatWindow(....);

这句你认为是调DLL,还是调用函数呢?
ruihuahan 2003-01-13
  • 打赏
  • 举报
回复
什么意思?
lizmei001 2003-01-13
  • 打赏
  • 举报
回复
有一个好处:
你很多的dll都可以输出相同的接口函数,
由你的主程序来指定调用哪个dll的函数

这样,你的主程序就可以外挂很多的dll而不用改动
你的每个dll就可以完成不同的功能而不会相互影响
sunyuan_01 2003-01-13
  • 打赏
  • 举报
回复
对普通函数没有大的区别,但是对别的应用就不好说了,因为俺也不清楚
rtdb 2003-01-13
  • 打赏
  • 举报
回复
你的CODE, 公司内部其它人用, 拷贝SOURCE CODE过去调用。
卖给别人用, 不能给SOURCE CODE, 就作成DLL给人家好了。
tyzyx 2003-01-13
  • 打赏
  • 举报
回复
我个人认为,如果你想使用一个大的(指功能和体积都大),你可以把它包在EXE中
但系统中的DLL已经有了,省事了:) 调用和DLL的区别就是这样了。

15,471

社区成员

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

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