Linux之静态库

Posted wanghao-boke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux之静态库相关的知识,希望对你有一定的参考价值。

 

 

命名规则:

lib + 库的名字 + .a

制作步骤

生成对应.o文件  .c à .o

将生成的.o文件打包   ar rcs + 静态库的名字(libMytest.a) + 生成的所有的.o 

发布和使用静态库:

1) 发布静态

2) 头文件

 

文件如下图所示:

技术图片

  1) 生成对应的.o文件

技术图片

  2) 将所生成的.o文件打包,并移动到lib文件夹中

技术图片

  3) 验证生成的库文件数据

技术图片

  

写一个测试代码main.c使用上图中的函数

/***
 main.c
***/
#include<stdio.h>
#include"MyCalc.h"

int main()

    int a = 10;
    int b = 20;
    int result = a + b;
    printf("a + b = %d\\n",result);
    return 0;

编译运行:

技术图片

静态库的优缺点:

查看静态库内容

nm 静态库名字

nm 可以查看可执行程序内容

 

优点:

  1. 发布程序的时候,不需要提供对应的库
  2. 库的加载速度比较快

缺点:

  1. 库打包到应用程序中,库的体积很大
  2. 库发生了变化,需要重新编译程序。

以上是关于Linux之静态库的主要内容,如果未能解决你的问题,请参考以下文章

Linux分文件编程:静态库与动态库的生成和使用

Linux之静态库

Linux之静态库与动态库20160706

转载我使用过的Linux命令之ar - 创建静态库.a文件

zt:我使用过的Linux命令之ar - 创建静态库.a文件

在linux环境下静态库(.a)的编译和使用