📌 静态库和动态库的制作与使用指南
🚀 静态库的制作与使用
1. 创建静态库
-
编写源代码
- 创建用于实现功能的
.c
文件和相应的头文件(.h
)。 - 例如,我们有
add.c
和相应的头文件add.h
。
add.h
:#ifndef ADD_H #define ADD_H int add(int a, int b); #endif
add.c
:#include "add.h" int add(int a, int b) { return a + b; }
- 创建用于实现功能的
-
编译生成目标文件(.o 文件)
- 使用
gcc
将源代码编译为目标文件:
gcc -c add.c -o add.o
- 使用
-
创建静态库(.a 文件)
- 使用
ar
命令创建静态库:
ar rcs libmylib.a add.o
libmylib.a
是生成的静态库文件。
- 使用
2. 使用静态库
-
编写主程序
- 编写一个调用静态库中函数的主程序,例如
main.c
:
#include <stdio.h> #include "add.h" int main() { int result = add(3, 4); printf("Result: %d\n", result); return 0; }
- 编写一个调用静态库中函数的主程序,例如
-
编译并链接静态库
- 使用
gcc
编译主程序并链接静态库:
gcc main.c -o main -I. -L. -lmylib
-I.
指定头文件目录,-L.
指定库文件目录,-lmylib
用于链接静态库(省略lib
前缀和.a
后缀)。
- 使用
🚀 动态库的制作与使用
1. 创建动态库
-
编写源代码
- 动态库的源代码和静态库类似,例如
sub.c
和相应的头文件sub.h
。
sub.h
:#ifndef SUB_H #<
- 动态库的源代码和静态库类似,例如