免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1153 | 回复: 0
打印 上一主题 下一主题

关于linux中的C语言的 动态链接库 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-07 15:42 |只看该作者 |倒序浏览

                动态链接库的概念这里不提,这里重点说明动态链接库的实现。下面以一个例子为主线:
1、编写库文件add.c 和add2.c
文件 add.c如下:
int add(int a,int b)
{
    return a+b;
}
int minux(int a,int b)
{
    return a-b;
}
文件add2.c如下:
int add2(int a,int b)
{
    return a+b+a+b;
}
2、编写主函数,测试动态库使用。文件为main.c,如下:
#include
int main()
{
    int a=6,b=3;
    printf("a+b=%d\n",add(a,b));
    printf("a-b=%d\n",minux(a,b));
    printf("a+b=%d\n",add2(a,b));
    return 0;
}
3、将库文件编译成动态库
gcc -fPIC -shared -o libadd.so add.c
gcc -fPIC -shared -o libadd2.so add2.c
说明:(1)动态库标准命名为 : lib*.so
      (2) 各选项意义。
4、编译主函数,并且载入库
gcc -o test2 main.c ./libadd.so ./libadd2.so
5、测试执行:
执行 ./test2 得到的输出如下:
a+b=9
a-b=3
a+b=18
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/91785/showart_1817430.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP