c++库分为动态库与静态库,它们的区别是
使用动态库在编译时不将代码编译进程序,在程序里只有一个“指向”的位置,当需要相应功能的代码时会从动态库中调用,因此程序的运行需要动态库的支持。而使用静态库在编译时直接将相关功能代码编译进程序。所生成的程序能够独立运行,不依赖任何库。
动态库特点:
- 生成的程序体积小
- 能够实现一个动态库,多个程序共享使用。
- 方便升级,只需要替换相应的动态库
- 部署较难,容易发生几个应用程序使用同一个动态库发生版本冲突的问题。
静态库特点:
- 生成的程序体积较大。
- 对于多个程序都会用到的同一功能模块,如果采用静态编译将其编译到进每个程序中,就会造成不必要的代码重复。
- 程序可以独立运行
- 部署方便。
测试文件
模块a源文件,包含一个函数
moduleA.cpp
#include<stdio.h>
void print_hello(){
puts("hello!