在编写程序的时候经常会看到两种类型的文件,其后缀名分别是.lib与.dll,我以前一直就将其分别理解为静态库文件与动态库文件,其实不然,动态库与静态库文件并不是只是拥有这些后缀名即可辨别,下面我介绍一下我对两种库文件的理解。
首先,确实是有两种库文件:静态库文件、动态库文件
1、静态库文件(static link library)
静态库文件的内容即为函数代码本身,在编译时直接将代码添加到程序中去。一个静态库文件实际上是若干个目标文件的集合,目标文件也是cpp文件编译生成的。在程序进入链接阶段时,链接器从静态链接库中得到被引用到的函数,并且将库文件同程序代码一同放到可执行文件中。
在vc中创建静态库文件的方法
首先创建一个static library型工程,然后编写cpp文件,其中可能包含头文件,然后对cpp文件进行编译,即得到一个静态库文件。在debug的目录下即可找到。以后编写其它的程序即可使用到这里建立的静态库文件。
使用静态lib的方法