Chinaunix首页 | 论坛 | 博客
  • 博客访问: 521928
  • 博文数量: 68
  • 博客积分: 2501
  • 博客等级: 大尉
  • 技术积分: 713
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-07 17:49
个人简介

文章分类

全部博文(68)

分类: LINUX

2010-06-05 10:20:14

本例代码共有(linux环境):hello.c,out.c,alert.c,swap.c,main.c
我们可以把除main函数之外的用作调用函数的文件编译并制作成动态链接库dll(.so),然后就可以在main中调用了。

实施步骤:
1.编译除main.c之外的c文件。注意只作编译,且需加上-fpic选项。在此只作举例说明,c文件太多的话,得用Makefile了。
cc -c -fpic alet.c
cc -c -fpic hello.c
cc -c -fpic out.c
cc -c -fpic swap.c

2.生成的dll库(.so)。需加上-shared选项。
cc -shared -o mydll.so *.o
3.到此为止,我们就可以在main.c中使用mydll.so中的函数了。在编译main.c文件时强调的一点是要注意dll(.so)的路径,请一定要使用相对路径。而且在执行生成的app二进制文件时,也是要将app和dll库的相对路径设置成编译时所用路径一致才行的,这点在移植dll库和程序的时候得引起注意。
cc -o app main.c ./mydll.so
3.祝大家一切顺心。
阅读(1741) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~