动态链接库、静态链接库;动态链接、静态链接
2010-09-22 14:27
253 查看
[b]术语:[/b]
动态链接库
静态链接库
动态链接
静态链接
其中动态链接库和静态链接库表示库本身文件,而动态链接和静态链接表示程序对库本身文件的链接方式;
模块化编程经历了“无库->静态库->动态库”的阶段
动态链接库和静态链接库都是一种代码仓库,为外界提供变量、函数或类,所以在一个程序中,不同的模块部分可以用库文件的形式来实现,从而只提供给外界相应的接口即可。
动态链接库的文件命名后缀为dll,静态链接库的文件命名后缀为lib; 或许有些同志就会疑问:在使用动态链接库的时候也有lib文件,其实该lib文件只是dll的导出描述,即导出库。
[b]链接方式的区别:[/b]
静态链接方式为把库文件的东西拷贝到目的程序中,即在链接时就完成该操作;从静态链接方式的行为上看,其最终适用于静态链接库上。
动态链接方式即在运行时动态加载库文件;从动态链接方式的行为上看,其最终适用于动态链接库上,其调用方式为运行LoadLibrary函数;在程序中,所有的动态链接库的调用都是最终使用LoadLibrary函数,这时或许又有同志疑问:那么在使用动态链接库的导出库(lib)时,没有使用LoadLibrary 函数啊??这里牵涉到两个概念:即动态链接库的显式加载和隐式加载,通过在程序代码里调用LoadLibrary函数的方式即为显示加载方式,而通过使用导出库的方式即为隐式加载的方式,个人认为在隐式加载里最终会通过LoadLibrary函数来进行动态链接库的加载,那么隐式加载方式中的LoadLibrary函数在哪了?其实就在动态链接库的导出库里。
动态链接库
静态链接库
动态链接
静态链接
其中动态链接库和静态链接库表示库本身文件,而动态链接和静态链接表示程序对库本身文件的链接方式;
模块化编程经历了“无库->静态库->动态库”的阶段
动态链接库和静态链接库都是一种代码仓库,为外界提供变量、函数或类,所以在一个程序中,不同的模块部分可以用库文件的形式来实现,从而只提供给外界相应的接口即可。
动态链接库的文件命名后缀为dll,静态链接库的文件命名后缀为lib; 或许有些同志就会疑问:在使用动态链接库的时候也有lib文件,其实该lib文件只是dll的导出描述,即导出库。
[b]链接方式的区别:[/b]
静态链接方式为把库文件的东西拷贝到目的程序中,即在链接时就完成该操作;从静态链接方式的行为上看,其最终适用于静态链接库上。
动态链接方式即在运行时动态加载库文件;从动态链接方式的行为上看,其最终适用于动态链接库上,其调用方式为运行LoadLibrary函数;在程序中,所有的动态链接库的调用都是最终使用LoadLibrary函数,这时或许又有同志疑问:那么在使用动态链接库的导出库(lib)时,没有使用LoadLibrary 函数啊??这里牵涉到两个概念:即动态链接库的显式加载和隐式加载,通过在程序代码里调用LoadLibrary函数的方式即为显示加载方式,而通过使用导出库的方式即为隐式加载的方式,个人认为在隐式加载里最终会通过LoadLibrary函数来进行动态链接库的加载,那么隐式加载方式中的LoadLibrary函数在哪了?其实就在动态链接库的导出库里。
相关文章推荐
- 动态链接库、静态链接库;动态链接、静态链接
- 动态链接,静态链接,动态链接库,静态链接库
- Link2005----设置为动态链接和静态链接的问题
- .h头文件 .lib动态链接库文件 .dll 动态链接库
- T264在静态链接和动态链接方式下的解码速度比较
- 静态链接库(LIB)和动态链接库(DLL),DLL的静态加载和动态加载,两种LIB文件。
- 动态链接库使用:静/动态链接库使用总结
- 动态链接和静态链接的区别
- 动态链接库dll,静态链接库lib, 导入库lib
- 动态链接库dll,静态链接库lib, 导入库lib
- 动态链接库dll,静态链接库lib, 导入库lib
- 静态链接库、动态链接库、静态链接、动态链接的区别
- 编译链接------Linux环境下c语言静态链接库和动态链接库创建和使用
- C++中的动态链接库和静态链接库
- 静态编译、动态编译、静态链接库和动态链接库理解
- 动态链接库dll,静态链接库lib, 导入库lib
- 关于NDK动态链接库中调用动态链接库一种错误的解决办法
- 动态链接库dll 静态链接库lib 动态导入库lib
- 动态链接和静态链接
- 动态链接和静态链接