免费注册 查看新帖 |

Chinaunix

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

Linux下使用动态链接库 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-05 14:54 |只看该作者 |倒序浏览


使用动态链接库,我认为,再比较大的程序运行过程中,是一种很有优势的。所以就花了一天时间来学习一下。
使用动态链接库,需要了解一下内容
头文件:

函数:
void *dlopen(const char *filename, int flag);
const char *dlerror(void);
void *dlsym(void *handle, char *symbol);
int dlclose(void *handle);
相关的信息可以通过 man dlopen查询
在编译动生成态链接库的时候,
需要参数 -shared
在使用动态链接库的时候,
需要参数 -ldl
其他相关参数有
-fpic -fPIC  -rdynamic
如有库函数文件Lib.c, 主函数文件Main.c
则有如下Makefile
all: comple linkcomple:    gcc -c Lib.c -o Lib.o    gcc -c Main.c -o Main.olink:    gcc -shared Lib.o -o Lib.so    gcc -ldl Main.o -o Main
另外,在C++中使用动态连接库的时候,请注意:
必须用
extern "C"{}
将动态苦定义为C的编译连接方式
否则由于C++命名方式于C不同,会造成生成的动态链接库不能使用(无法定位或函数)
这里上传一个使用动态链接库的例子

       
        文件:dynamic.tar.gz
        大小:0KB
        下载:
下载
       
               
               

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP