VS2005中Lib和Dll

在VS 2005中,如果要创建一个新的项目,我们通常的做法是默认项目为控制台程序,如此操作,则创建后的工程会默认包含很多Windows中的东西,而且主函数默认是从命令行输入参数,因此一般比较好的操作是选择常规,建立一个空项目。

 

上面说了点题外话,首先我们需要知道为何要使用lib和dll文件呢?之所以要使用这些文件,是为了让用户在无法得知函数的具体实现的情况下,依然可以通过使用lib和dll文件使用它们的功能。下面介绍一下VS2005中Lib和Dll文件的使用,及其功能。

Lib文件

先来说一说lib文件,C++中lib文件主要有两类,一种是静态的编译连接,叫做静态链接库,另一种是动态的编译链接,和Dll文件一起使用,在该小标题下,主要说一下静态链接库,另一种将在Dll文件中讲解。所谓的静态链接库,就是以.lib结尾的文件(由于有动态的编译链接的lib存在,因此并不是所有的.lib文件都是静态链接库文件),该文件可以通过VS2005建立工程,然后将项目属性中的输出设置成lib形式,编译后就可以生成一个.lib文件,这就是静态链接库。

  • 我们如何使用生成的.lib文件呢?

为了可以使用.lib文件,我们需要刚刚生成的.lib文件,以及它所对应的头文件.h,因为.lib文件无法直接访问,且无法得知其接口,因此需要对应的头文件。假设现在有一个工程需要使用该lib文件,首先需要在工程属性中将.h文件的路径设置好,在文件中使用#include将头文件包含,然后对于lib文件,需要在工程属性中,设置其路径(或者直接放在工程文件的目录下,因为工程查找文件时是以工程文件所在路径为相对路径查找),然后类似opencv一样,在项目属性中,linker->input中输入要使用的lib名(或者使用program**,在文件中用语句将其写入(推荐)),这样配置就结束了。

  • lib文件如何起作用?

当工程在编译的时候,系统就会将lib中的函数的实现插入到生成的exe中,从而完成其作用,因此我们知道,当lib很大的时候,最后生成的exe文件会相当的大,因为将需要的lib都加载到了最终的exe中。

DLL文件

了解了上面的内容后,Dll的理解就方便多了。DLL文件被称为动态链接库。我们可以通过使用工程建立他们,在建立的时候首先建立一个空项目,然后将输出设置成dll,然后在主函数前使用***,意思是将该文件函数以dll文件导出,然后编译后生成了.lib文件和dll文件,其中的dll文件就是动态链接库,但是要注意这里的.lib文件就是上面所说的另一种lib文件,不同于静态链接库的lib文件(该lib文件中货真价实的是函数的实现),该lib文件中没有函数的实现,而也是一些定义以及配置,真正的函数的实现存在于dll文件中。

  • 我们如何使用生成的.lib和dll文件呢?

要想使用dll文件,需要其对应的头文件.h,lib以及动态链接库dll文件。前两者的配置和上面一样,dll直接放到exe文件下即可。

  • lib和dll文件如何起作用?

当一个工程在编译的时候,dll配套的lib文件将被使用,用来安插和dll文件的接口,但是不会将函数的实现放到最终的exe中,当exe程序在使用的时候,会动态的从对应的dll文件中调出需要的函数。因此这种方式使得exe文件不至于很大,而且方便应用程序的修改和升级。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值