lib与dll两种库

来源:互联网 发布:java c#区别 编辑:程序博客网 时间:2024/05/19 15:39

一.程序中有两种库:

1.lib 静态链接库,在编译时加载,该文件包含函数所在的DLL文件以及函数所对应的地址等信息。

  说白了lib里放的是dll中对应函数地址等信息的索引。

2. dll 动态链接库,程序运行时加载,该文件包含函数的具体实现代码和数据。

动态链接时,需要lib.以及dll共同协作

 

二. 使用lib需注意两个文件:
(1).h头文件,包含 lib中说明输出的类或符号原型或数据结构。应用程序调用lib时,需要将该文件包含入应用程序的源文件中。
(2).LIB文件,略。

使 用dll需注意三个文件:
(1).h头文件,包含dll中说明输出的类或符号原型或数据结构的.h文件。应用程序调用dll时,需要将该文件包含 入应用程序的源文件中。
(2).LIB文件,是dll在编译、链接成功之后生成的文件,作用是当其他应用程序调用dll时,需要将该文件引入应用 程序,否则产生错误。如果不想用lib文件或者没有lib文件,可以用WIN32 API函数LoadLibrary、GetProcAddress装载。
(3).dll文件,真正的可执行文件,开发成功后的应用 程序在发布时,只需要有.exe文件和.dll文件,并不需要.lib文件和.h头文件