c语言库的制作

c语言库的制作

1.静态库和动态库的制作

1.准备头文件和对应的api实现源码

1.mylib.h

1
2
#include <stdio.h>
int interface(void);

1.mylib.c

1
2
3
4
5
#include "mylib.h"
int interface(void)
{
printf("this is my first interface ");
}
1.制作静态库
1
2
3
4
#编译目标文件
gcc -c mylib.c -o mylib.o
#制作静态库文件
ar crs libmylib.a mylib.o
2.制作动态库
1
2
3
4
#编译目标文件
gcc -c mylib.c -o mylib.o
#制作动态链接库、
gcc -shared -o libmylib.so mylib.o

2.自定义库的使用

1
2
3
4
5
6
7
/*main.c*/
#include <mylib.h>
int main(void)
{
interface();
return 0;
}
1.静态库的使用
1
2
3
4
#编译
gcc -L. -lmylib main.c -o main
#运行
./main
2.动态库的使用
1
2
3
4
5
6
编译目标文件
gcc -L. -lmylib main.c -o main
#运行
#是指动态链接库的路径,(可以设置LD_LIBRARY_PATH的值或者是将编译好的动态链接库拷贝至/usr/lib路径下)
export LD_LIBRARY_PATH=.
./main

c语言库的制作
https://dreamaccount.github.io/2022/05/18/c语言库的制作/
作者
404NotFound
发布于
2022年5月18日
许可协议