文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>动态共享库的生成

动态共享库的生成

时间:2010-10-21  来源:Bean_lee

Lib.h
  1 #ifndef LIB_H   2 #define LIB_H   3    4    5 void foobar(int i);   6    7 #endif _________________________________________________________ Lib.c   1 #include <stdio.h>   2    3 void foobar(int i)   4 {   5    printf("Printing From Lib.so %d\n",i) ;   6    sleep(-1);   7    8 } __________________________________________________________ program_1.c
  1 #include "Lib.h"   2    3 int main()   4 {   5     foobar(1);   6     return 0;   7 } __________________________________________________________
root@libin:~/project/dso# ll 总用量 20 drwxr-xr-x 2 root  root  4096 2010-10-21 22:58 ./ drwxr-xr-x 8 libin libin 4096 2010-10-21 22:17 ../ -rw-r--r-- 1 root  root    99 2010-10-21 22:42 Lib.c -rw-r--r-- 1 root  root    59 2010-10-21 22:18 Lib.h -rw-r--r-- 1 root  root    58 2010-10-21 22:30 program_1.c

生成共享对象文件的命令 root@libin:~/project/dso# gcc -fPIC -shared -o Lib.so Lib.c -shared  表示生成共享对象  -fPIC    暂不解释
root@libin:~/project/dso# ll 总用量 28 drwxr-xr-x 2 root  root  4096 2010-10-21 22:59 ./ drwxr-xr-x 8 libin libin 4096 2010-10-21 22:17 ../ -rw-r--r-- 1 root  root    99 2010-10-21 22:42 Lib.c -rw-r--r-- 1 root  root    59 2010-10-21 22:18 Lib.h -rwxr-xr-x 1 root  root  6772 2010-10-21 22:59 Lib.so* -rw-r--r-- 1 root  root    58 2010-10-21 22:30 program_1.c
这样在当前目录下就生成了共享对象文件Lib.so。这个共享对象文件包含foobar函数。
然后我们就可以编译链接我们的program_1.c root@libin:~/project/dso# gcc -o program program_1.c  ./Lib.so root@libin:~/project/dso# ll 总用量 36 drwxr-xr-x 2 root  root  4096 2010-10-21 23:00 ./ drwxr-xr-x 8 libin libin 4096 2010-10-21 22:17 ../ -rw-r--r-- 1 root  root    99 2010-10-21 22:42 Lib.c -rw-r--r-- 1 root  root    59 2010-10-21 22:18 Lib.h -rwxr-xr-x 1 root  root  6772 2010-10-21 22:59 Lib.so* -rwxr-xr-x 1 root  root  7134 2010-10-21 23:00 program* -rw-r--r-- 1 root  root    58 2010-10-21 22:30 program_1.c






相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载