Linux下动态库文件的拓展名为".so"ShareObject按照约好,
一、库文件及测验文件代码
库文件及测验文件地点目录:/root/so/
1.库文件名:myfirstso.c
#includ
voidmyfunct
{
printf"thiisashareobject\n";
}
2.测验文件名:test.c
#includ
char*argv[]intmainintargc.
{
myfunct;
return0;
}
动态库的编译办法编译库文件myfirstso.c:
[root@mgtso]#gcc-fPIC-share-olibmyfirstso.somyfirstso.c
会在/root/so/下生成动态库文件:libmyfunction.so假如编译成功。
编译生成动态库的命令为:gcc-fpic-share-olibmyfunction.somyfunction.c
-fp使输出的目标模块是按照可重定位地址办法生成的
-share指定把对应的源文件生成对应的动态连接库文件。
三、动态库的测验办法
编译测验文件test.c:
[root@mgtso]#gcc-otesttest.c/root/so/libmyfirstso.so
成功编译后。运转test生成test文件。
[root@mgtso]#./test
thiisashareobject
gcc-otesttest.c/root/so/libmyfirstso.so最终一个参数指定所连接库文件的绝对途径。本例中库文件的绝对途径为:/root/so/libmyfirstso.so假如直接写相对途径会有过错。其间。
当然。能够先将生成的库文件复制至/usr/lib/下,假如想从体系的库文件途径(一般体系函数库的坐落/usr/lib下)
,含泪播种的人一定能含笑收获。