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

一、自己制作静态链接库

#include 
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

你可能感兴趣的:(自己制作静态链接库并使用)