Linux操作系统支持的函数库分为:
静态库,libxxx.a,在编译时就将库编译进可执行程序中。
优点:程序的运行环境中不需要外部的函数库。
缺点:可执行程序大
动态库,又称共享库,libxxx.so,在运行时将库加载到可执行程序中。
优点:可执行程序小。
Linux静态库的制作
1.对sub 库函数进行定义生成目标函数
gcc sub.c -c -o sub.o
2.使用静态函数库创建命令ar,创建sub.a
ar -cr filsub.o sub.a
3.创建静态库函数后 ,静态库的编译:gcc -o main.c -L. -lsub 编译main.c就会把静态函数库整合进main.
4.执行函数./a.out
创建主函数main.c
#include<stdio.h>
int main()
{
int x;
int y;
int ret;
x=10;
y=5;
ret=sub(x,y);
printf("sub is %d/n",ret);
return 0;
}
创建库函数sub.c
int sub(int x,int y)
{
return (x-y);
}
如果直接执行 gcc main.c 会显示没有清晰定义sub:
对sub 库函数进行定义生成目标函数
gcc sub.c -c -o sub.o
目标函数生成成功后,使用静态函数库创建命令ar,创建sub.a
ar -cr filsub.o sub.a
生成静态库函数后 ,静态库的编译:gcc -o main.c -L. -lfile编译main.c就会把静态函数库整合进main.
首先生成a.out文件 : gcc -o main.c -L. -lfile
然后运行./a.out,就可以输出main.c里面的内容了