静态链接库和动态链接库的使用场景

静态链接库

  • 静态链接库工程编译后,生成.lib文件。
  • 在目的程序使用静态链接库的场合,直接将.lib文件中的全部函数链接到目的程序中。
  • 运行生成的目的程序的场合,不再需要.lib文件就可以直接运行。
  • 当静态链接库发生变化的场合,目的程序必须要重新编译,否则执行时静态链接库的内容没有更新。

动态链接库

  • 动态链接库工程编译后,生成.lib和.dll文件。 .dll文件是作为共享函数库的可执行文件。
  • 不同编程语言编写的程序只要按照函数调用约定就可以调用同一个DLL函数库。
  • 适用于大规模的软件开发,使开发过程独立、耦合度小,便于不同开发者和开发组织之间进行开发和测试。
  • DLL文件的内容发生变化时,只要输出接口不变(即名称、参数、返回值类型和调用约定不变),更换DLL文件就好,EXE文件不用再次编译也可以在执行时更新调用DLL函数的内容。极大地提高了可维护性和可扩展性。
  • 运行程序时,必须保证.dll是存在的,否则会出错。

什么场合下适用静态链接库:

  • 因为静态链接库会使得.exe文件的size变大,并且相对于动态链接库运行速度更快。故静态链接库适用于小型应用的开发。

什么场合下适用动态链接库

  • 因为静态链接库不能链接其它链接库,无论静态接库或者动态链接库。所吸,当该当链接库还需要链接其它的链接库,包括静态或者动态链接库的场合,应该使用动态链接库。
  • 因为动态链接库.dll可以独立于.exe而存在,当开发大型软件的场合,或者说多个应用程序需要链接到该.dll时,.dll的逻辑需要修正的场合,其应用程序不需要再次编译。减少软件的耦合。
  • 由于动态链接库.dll可以链接到不同编程语言的工程,所以对于多语言的软件开发的场合也是适用的。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值