linux下静态库

来源:互联网 发布:java中绝对值函数 编辑:程序博客网 时间:2024/06/05 13:43

命名规则:

lib + 库的名字 + .a              # linux中静态库以.a结尾.

制作步骤:

  1> 生成对应的.o文件.

  2> 将生产的.o文件打包. (用ar工具打包, ar rcs + 静态库的名字 + 生产的.o文件. )


发布和使用静态库:

  发布静态库:

    1) 发布静态库
    2) 头文件

  使用静态库:
        # 使用静态库需要头文件和静态库(lib*.a)及带main函数的.c文件.         # 下面是两种方法.        gcc main.c lib*.a -I 头文件路径 -o 生产的可执行文件名字.         gcc main.c -I 头文件路径 -L ./静态库路径 -l 静态库名字 -o 生产的可执行文件名字. 
  使用nm命令可以查看静态库中的文件.

例:

bash$ nm liblist.adelete.o:0000000000000000 T Delete_SeqList           #   T 代表在代码区.                  U putsinit.o:0000000000000000 T Init_SeqList                 U malloc                 U puts...

静态库的优缺点:

  优点:
    1). 发布程序的时候,不需要提供对应的库.
    2). 应用程序调用库的时候加载速度快.

  缺点:
    1). 库打包到应用程序中,导致应用程序的体积很大.
    2). 库发生了改变,需要重新编译程序.