三库释义

我们在windows下编程时,经常会听说这个库那个库的,有时候真是让人晕!概念清就是让人晕!经常听说的我想也就是动态链接库、目标库、输入库了!下面我们分别解释一下:

 

1.  动态链接库即DLL、动态库、库模块,标准扩展名是.dll,只有带DLL扩展名的动态链接库才可以被WINDOWS自动加载。如果文件有其它的扩展名必须显式的使用loadlibrary函数来加载该模块。动态链接的含义就是程序在运行中加载你所需要的DLL。这个概念我想不用解释了。

2.  目标库:扩展名为lib,在用链接程序进行静态链接时,它的代码就会加到程序的EXE文件中去。例如:在VC中,与程序链接的常规C运行目标库被称为libc.lib

3.  输入库是目标库文件的一种特殊形式。扩展名也为lib,并且被链接程序用来确定源程序代码中的函数调用。但输入库是不含代码的,而只是为链接程序提供信息,以便在。EXE文件中建立动态链接时要用到的重定位表。例如包含在WINDOWS编译器的KERNEL32LIBUSER32LIBGDI32LIB文件是WINDOWS函数的输入库。如果一个程序调用Rectangle函数,那么Rectangle将告诉link,该函数在gdi32.dll动态库中,该信息被记录在。EXE文件中,使得程序运行时,windows能够和GDI32。DLL动态链接库进行动态链接。

目标库和输入库只用在程序开发期间,而动态链接库在运行期间使用。

 

1.如果你采用的是DEF文件来输出函数的话,

那么一定要在调用程序中,用_declspec(dllimport)  来导入你在def文件中的函数。(一般在头文件中)

2.如果你在输出函数加入了_declspec(dllexport)方式的话,则不必。

 

你可能感兴趣的:(三库释义)