动态链接库的一些名词
2006-05-09 16:35
369 查看
1、什么是动态链接库?
它不是应用程序,不能直接运行,也不能接收消息。dll是一系列函数的集合,可以简单理解为把一些函数放到了一个文件里面,这些函数可以被其它程序和dll调用。一个dll可以同时被几个程序或其它dll调用,这应该是它的特点。
2、windows api与dll
windows api中的所有函数均包含在dll中,当然不会是一个dll。其中最为重要的3个windows api的dll文件是:Kernel32.dll 主要是管理内存、进程和线程的函数的集合;User32.dll 执行用户界面的任务的函数(比如:窗口的创建销毁放大缩小、消息的传递等等与用户相关的操作);GDI32.dll 包含用于画图和显示文本的各个函数;
3、静态库和动态库
静态库是把程序运行时需要使用的函数编译在一个二进制文件中,扩展名为.lib。当程序link时把静态库中的二进制数据和程序其它数据放到一起。程序运行时不在需要lib和dll文件的支持。这样做的坏处是开发出来的程序占用磁盘空间较大。特别是windows系统中本来就有或很多程序运行都需要的函数完全没有必要每次开发程序时都要使用各自的静态库。
而动态库在开发时仅是把dll中的函数名和参数放到应用程序中,应用程序运行时根据函数名和参数调用dll中的函数来运行,这样操作系统中的应用程序可以同时使用同一个dll。可以有效地节省硬盘空间,当然这样做使得程序设计更有层次。也有利于软件工程师的分工和信息安全。
4、引入库和动态库
引入库和动态库是成对出现的,在编译dll的时候会同时产生一个引入库,扩展名为lib。lib中仅含有dll中的函数名和参数,真正的函数体在动态库中。两个的关系大概相当于.h和.cpp文件之间的关系。在编写程序的过程中
5、引入库和静态库
引入库和静态库的扩展名均为*.lib,但是引入库仅包含一些函数名和参数信息,没有函数体,是为调用动态库服务的,它和动态库的关系相当于.h文件和.cpp文件之间的关系;
6、
它不是应用程序,不能直接运行,也不能接收消息。dll是一系列函数的集合,可以简单理解为把一些函数放到了一个文件里面,这些函数可以被其它程序和dll调用。一个dll可以同时被几个程序或其它dll调用,这应该是它的特点。
2、windows api与dll
windows api中的所有函数均包含在dll中,当然不会是一个dll。其中最为重要的3个windows api的dll文件是:Kernel32.dll 主要是管理内存、进程和线程的函数的集合;User32.dll 执行用户界面的任务的函数(比如:窗口的创建销毁放大缩小、消息的传递等等与用户相关的操作);GDI32.dll 包含用于画图和显示文本的各个函数;
3、静态库和动态库
静态库是把程序运行时需要使用的函数编译在一个二进制文件中,扩展名为.lib。当程序link时把静态库中的二进制数据和程序其它数据放到一起。程序运行时不在需要lib和dll文件的支持。这样做的坏处是开发出来的程序占用磁盘空间较大。特别是windows系统中本来就有或很多程序运行都需要的函数完全没有必要每次开发程序时都要使用各自的静态库。
而动态库在开发时仅是把dll中的函数名和参数放到应用程序中,应用程序运行时根据函数名和参数调用dll中的函数来运行,这样操作系统中的应用程序可以同时使用同一个dll。可以有效地节省硬盘空间,当然这样做使得程序设计更有层次。也有利于软件工程师的分工和信息安全。
4、引入库和动态库
引入库和动态库是成对出现的,在编译dll的时候会同时产生一个引入库,扩展名为lib。lib中仅含有dll中的函数名和参数,真正的函数体在动态库中。两个的关系大概相当于.h和.cpp文件之间的关系。在编写程序的过程中
5、引入库和静态库
引入库和静态库的扩展名均为*.lib,但是引入库仅包含一些函数名和参数信息,没有函数体,是为调用动态库服务的,它和动态库的关系相当于.h文件和.cpp文件之间的关系;
6、
相关文章推荐
- MinGW编译Qt较好的一些文章链接(静态或动态)
- 动态链接的导入的一些方法
- 关于如何在.net程序中动态改变界面文化的一些链接
- [初]静态链接和动态链接的一些问题
- qt的动态链接库生成、使用,还夹带一些pro文件的使用。
- 有关加载动态链接库的一些东西
- 关于linux动态链接库的一些注意事项
- 一些自己学习的html代码(锚,动态改变文本和链接,有序无序列表等)
- 解决WIN7下安装飞信出现“无法定位程序输入点dwmhintdxupdate于动态链接库user32.dll”错误
- 动态链接库DLL的加载:隐式加载(载入时加载)和显式加载(运行时加载)
- 转:.h头文件 .lib库文件 .dll动态链接库文件关系
- 关于动态数组、静态数组转换为字符串的一些问题 - 给 "厨师" 的回复
- Visual C++ 支持的动态链接库之win32 DLL
- 在ArcGIS Server中用regsvcs注册服务器端扩展的动态链接库时候,出现没有强名称错误的解决办法
- LR动态链接数据库
- a标签动态改变跳转链接
- ELF文件动态链接时 GOT,PLT 的变化过程
- 产品生产环节的一些名词
- 抽取VS文件组成类GCC的编译器,并编译C程序为dll动态链接库
- 转载-一些动态加载类的文章