库文件

发布时间 2023-08-22 15:55:52作者: 肆空界

静态库和动态库

静态库

将库打包到产品---》生成可执行文件

动态库

运行时才加载到可执行文件

静态库:可执行程序大,部署难度容易,升级难度大

动态库:可执行程序小,部署难度难,升级难度小

库文件的生成

静态库

  1. 生成目标文件
  2. 把目标文件打包成静态库      ar crsv   libalgo.a     a.o b.o c.o
  3. 把静态库移动到/usr/lib目录下
  4. 链接时,需要加上静态库的名字   gcc main.c -0 main -lalgo

动态库

  1. 生成目标文件(需要加上 -fpic) gcc -c add.c sub.c mul.c div.c -fpic
  2. 把目标文件打包成静态库 gcc -shared add.o sub.o mul.o div.o  -o libalgo.so
  3. 将动态库移动到/usr/lib目录下
  4. 链接时加上-lalgo