自己制作静态链接库并使用

一、自己制作静态链接库

#include <stdio.h>
void func1(void)
{
        printf("func1 in aston.c\n");
}
int func2(int a,int b)
{
        printf("func1 in aston.c.n\n");
        return a+b;
}
void func1(void)
int func2(int a,int b);
all:
        gcc aston.c -o aston.c -c
        ar -rc libaston.a aston.o
  • 首先使用gcc -c只编译不链接生成.o目标文件,然后使用ar工具进行打包成为归档文件。
  • 库名不能乱取一般是lib+库名,后缀名是.a表示是一个归档文件。
  • 制作出来了静态库后发布时需要发布.a和.h文件。

二、使用静态链接库

  • 把.a和.h都放在我引用的文件夹下,然后在.c文件包含库的.h,然后直接使用库函数。
gcc test.c -o test
gcc test.c -o test -laston
gcc test.c -o test -laston -L.   //L代表在路径中寻找    .代表当前目录
  • 除了ar命令,nm命令可以用来查看一个.a文件中有那些符号文件。
nm libaston.a
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容