由上篇文章引导我去了解了库文件,深度剖析一下:
它是计算机的一类文件,提供了一些开箱即用的变量、函数或类。分为两种静态库(LIB)和动态库(DLL),两者的医别体现在程序的链接阶段:前者在链接阶段被复制到了程序中;后者没有被复制在程序中,而是在程序运行时由系统动态加载到内存中供程序调用。使用DLL只需加载一次,不同的程序可以得到内存中相同的动态库的副本,因此节省了很多内存,而且使用动态库也利于模块化更新程序。在windows中,一个程序可以有多个动态库,一个动态库也可以被多个程序调用,这样的文件称为共享库。两者另外一个区别是LIB不能再包含DLL或LIB,而DLL可以包含其他DLL和LIB。
DLL的特点:1)编制与具体的编程语言及编译器无关
2)DLL随处可见
3)不同分类(Visual C++支持三种DLL,它们分别是Non-MFC DLL(非MFC动态库)、MFC Regular DLL(MFC规则DLL)、MFC Extension DLL(MFC扩展DLL)。)
LIB的特点:(1)库不过是特殊的一类程序,编写库的程序和编写一般的程序区别不大,只是库 不能单独执行;
(2)库提供一些可以给别的程序调用的接口,别的程序要调用它必须以某种方式指 明它要调用。
补充:MFC=Microsfot Foundation class (类库),以类的形式封装的API,并且包含一个程序框架,以减少开发人员的工作量。