动态库、静态库

发布时间 2023-04-10 23:29:29作者: 踏浪而来的人

函数库:

  库是将源代码转换为二进制格式的源代码,别人可以使用库,但不能看到库中的内容。

静态函数库:

  在程序在编译的时候就加入到目标程序中

  优点:

    1. 静态库被编译到程序中,加载速度快;

    2. 发布程序时无需提供静态库,因为已经包含在程序中,所以移植方便

  缺点:

    1. 链接时全部拷贝到了程序中,多次使用就会有多分冗余拷贝

    2. 更新麻烦

动态库:

  程序运行时,临时的由目标程序调用

  优点:

    1. 链接时不复制,程序运行时动态的加载到内存中供程序调用,系统只用加载一次,多个程序可以公用

    2. 程序升级简单,因为程序中没有库的源码,只要函数名、参数、返回值不变,只用把实现逻辑进行优化,就能实现程序升级

  缺点:

    1. 加载速度慢

    2. 发布程序时需要提供动态库