您的位置:首页 > 其它

动态链接库、静态链接库;动态链接、静态链接

2010-09-22 14:27 253 查看
[b]术语:[/b]

动态链接库

静态链接库

动态链接

静态链接

其中动态链接库和静态链接库表示库本身文件,而动态链接和静态链接表示程序对库本身文件的链接方式;

模块化编程经历了“无库->静态库->动态库”的阶段

动态链接库和静态链接库都是一种代码仓库,为外界提供变量、函数或类,所以在一个程序中,不同的模块部分可以用库文件的形式来实现,从而只提供给外界相应的接口即可。

动态链接库的文件命名后缀为dll,静态链接库的文件命名后缀为lib; 或许有些同志就会疑问:在使用动态链接库的时候也有lib文件,其实该lib文件只是dll的导出描述,即导出库。

[b]链接方式的区别:[/b]

静态链接方式为把库文件的东西拷贝到目的程序中,即在链接时就完成该操作;从静态链接方式的行为上看,其最终适用于静态链接库上。

动态链接方式即在运行时动态加载库文件;从动态链接方式的行为上看,其最终适用于动态链接库上,其调用方式为运行LoadLibrary函数;在程序中,所有的动态链接库的调用都是最终使用LoadLibrary函数,这时或许又有同志疑问:那么在使用动态链接库的导出库(lib)时,没有使用LoadLibrary 函数啊??这里牵涉到两个概念:即动态链接库的显式加载和隐式加载,通过在程序代码里调用LoadLibrary函数的方式即为显示加载方式,而通过使用导出库的方式即为隐式加载的方式,个人认为在隐式加载里最终会通过LoadLibrary函数来进行动态链接库的加载,那么隐式加载方式中的LoadLibrary函数在哪了?其实就在动态链接库的导出库里。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: