cpp learning

动态库不同于静态库,一般已经制作好的库文件有以下几个东西。

  1. include 文件夹

    里面包含了所有头文件,头文件是所有方法的声明,在预处理的时候起作用。

  2. lib 文件

    这个 lib 文件和静态库的 lib 是不一样的,看存储大小就知道,被称为引入库。里面包含该动态库导出的函数和变量的符号名。在链接的时候起作用,该文件是非必需的。

  3. dll 文件

    包含实际的函数和数据。在程序运行调用的时候起作用。

动态链接库的好处

  1. 模块化

    只要接口不变,可以对功能实现二次开发

  2. 共享以节省内存

    正因为模块化,在运行时按需调用,因此一个 dll 文件可以给多个程序共享使用,因此如果多个程序使用相同的 dll 文件,该动态链接库只会存入内存一次。