1、准备源程序如:mymath.c;view.c
mymath.c:
double add(double a,double b)
{
return a + b;
}
double sub(double a,double b)
{
return a - b;
}
~
view.c
include <stdio.h>
void print( double res)
{
printf("%lf\n",res);
}
2、编译源程序 选项:-fpic
注意:在使用gcc -c编译的时候加上 -fpic(必须要加上)
例如:gcc -c -fpic mymath.c //生成mymath.o
例如:gcc -c -fpic view.c //生成view.o
3、生成共享库文件 选项:--share(双中横线)
gcc -share mymath.o view.o -o libmyku.so
4、编写测试文件test.c 并生成test.o
gcc -c test.c
5、连接共享库 共享库与测试程序的连接于静态库方式一样
1)直接连接 gcc test.o libmyku.so -o test //生成test可执行文件
2)设置环境变量 LIBRARY_PAY:
export LIBRARY_PATH=. //设置库的查找路径为当前路径
gcc test.o -l myku -o test //生成test可执行文件
6、使用共享库 在使用之前必须设置环境变量LD_LIBRARY_PATH
export LD_LIBRARY_PATH=. //设置共享库的查找路径
./test //运行