应用篇之dll lib pdb和头文件

建立一个真正的工程时,一般我们都会用到第三库或者自己建的库。这时候我们需要配置用到的头文件、lib以及dll。另外我们建立自己的静态库或者动态库时,会生成lib甚至dll。它们是什么,有什么作用,

基本概念

  h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的。

h头文件

  文件内容一般是声明,预编译时在包含该头文件的文件里展开(即全部复制过去)。如果没有库的头文件里的声明,那么编译器无法知道你调用的是什么类型。

lib文件

  静态库中的lib:该lib包含函数代码本身(即包括函数的索引,也包括实现),在编译时直接将代码加入程序当中。动态库中的lib:该lib包含了函数所在的dll文件和文件中函数位置的信息(索引),函数实现代码由运行时加载在进程空间中的dll提供

dll文件

  运行时需要调用的动态链接库,为函数可执行的代码文件

pdb文件

  pdb为程序数据二进制文件,pdb文件保存着调试和项目状态信息,包含了编译后程序指向源代码的位置信息,用于调试的时候定位到源代码,主要是用来方便调试的。release后建议删掉,有利于保护程序。

总结

  在vs中新建生成静态库的工程,编译生成成功后,只产生一个.lib文件。在vs中新建生成动态库的工程,编译成功后,产生一个.lib文件和一个.dll文件
  论你使用静态库还是动态库,如果不设置头文件和lib文件,编译肯定通不过的。当你在使用动态库时,只设置头文件和lib文件是可以编译通过的,但是运行时会报错。这时候你设置下dll文件(最简单的是把dll文件复制到当前项目目录下,一般不是最佳的方法)。如果你调试的话,无论对调用的库改了什么,都要更新pdb文件。
   当你只修改自己动态库的cpp文件,那么只需要覆盖旧的dll文件,调用该动态库的exe文件就可以使用你修改的内容。但是你修改了头文件,那就麻烦了,调用该动态库的exe文件需要重新重新生成。

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值