我们讨论了Linux下静态库的建立和使用(http://www.linuxdiyf.com/linux/26445.html),现在我们将讲述一下动态库的建立和使用。
首先还是说一下规则
动态库的创建:
gcc -shared –fPIC –o 库名.so 源文件.c
动态库的使用:
gcc 源文件.c ./ 库名.so –o 可执行文件名、
我们还是用静态库的代码。
第一步:我们首先建立cla.c的C文件,这个小程序主要实现两个数字的加减乘除
#include <stdio.h>
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("add = %d\n",add(a,b);
printf("sub = %d\n",sub(a,b));
printf("mul = %d\n",mul(a,b));
printf("div = %d\n",div(a,b));
return 0;
}
第二步:建立add.c sub.c mul.c div.c四个从文件里面分别包含加减乘除的函数
int add(int a,int b)
{
return a + b;
}
int sub(int a,int b)
{
return a - b;
}
int mul(int a,int b)
{
return a * b;
}
int div(int a,int b)
{
return a/b;
}
第三步:在Linux命令行下建立libname.so动态库
在命令行输入 gcc -shared -fPIC -o libname.so add.c sub.c mul.c div.c
第四步:在Linux命令行下使用动态库libname.so生产可执行文件cla
在命令行模式下输入 gcc cla.c ./libname.so -o cla
第五步:执行cla文件
在命令行输入./cla 输入12 和 3,分别计算出加减乘除的结果: