C语言静态链接
阅读量:
searchstar
2022-09-02 22:23:45
Categories:
Tags:
相关:C语言动态链接库
¶ 场景
add.c
:
int add(int a, int b) { return a + b; }
|
sub.c
:
int sub(int a, int b) { return a - b; }
|
main.c
:
#include <stdio.h>
int add(int, int); int sub(int, int);
int main() { printf("%d, %d\n", add(1, 2), sub(1, 2));
return 0; }
|
利用静态链接在main.c
中使用add.c
和sub.c
中的add
和sub
函数。
¶
生成libmath.a
# add.o gcc -c add.c # sub.o gcc -c sub.c # libmath.a ar -rc libmath.a add.o sub.o
|
¶ 生成main
gcc -c main.c gcc main.o libmath.a -o main
|
或者一步到位:
gcc main.c libmath.a -o main
|
¶ 运行
add
和sub
已经被静态链接到main
里了,所以直接运行即可:
输出:
¶ 参考
https://blog.csdn.net/m0_60073820/article/details/121385752