免费注册 查看新帖 |

Chinaunix

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

linux下制作.so库问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-06 09:56 |只看该作者 |倒序浏览
小弟现在对linux下如何制作.so库文件一无所知 只知道制作.a静态库可以用ar将所有.o文件构成静态库,请赐教!!
另外,对于extern有问题需要确认,如果我提供.h和.c文件 在外文件中引用以上文件的方法不需要extern只需要include头文件就可以了
但是如果我把.h和.c编译成.o文件或者.a文件 只提供.h和.o/.a文件则必须在.h文件中将需要被引用的函数extern  在.so文件中又是如何实现功能函数被外部引用呢?
1.提供.h和.c文件 主文件引入.h文件即可
2.提供.h和.o/.a文件 主文件引入.h文件 要求.h文件中被引用的函数用extern修饰
3.提供.h和.so文件  主文件引入.h文件  被引用函数如何修饰???
请高手确认,赐教!

论坛徽章:
0
2 [报告]
发表于 2008-08-06 09:57 |只看该作者
回答第一个问题

问:小弟现在对linux下如何制作.so库文件一无所知 只知道制作.a静态库可以用ar将所有.o文件构成静态库,请赐教!!
答:参考gcc -shared参数

论坛徽章:
0
3 [报告]
发表于 2008-08-06 09:59 |只看该作者
回答第二个问题
问:另外,对于extern有问题需要确认,如果我提供.h和.c文件 在外文件中引用以上文件的方法不需要extern只需要include头文件就可以了
但是如果我把.h和.c编译成.o文件或者.a文件 只提供.h和.o/.a文件则必须在.h文件中将需要被引用的函数extern  在.so文件中又是如何实现功能函数被外部引用呢?
答:请参考手册 man dlopen
        手册中有例子的

论坛徽章:
0
4 [报告]
发表于 2008-08-06 10:35 |只看该作者
能不能给确定下? 我这里没手册看啊  高手只要确定下对还是不对就可以了 另外gcc -shared -o libdemo.so demo.o这里必须把.o文件制作成.so文件吗?不能把其他类型的文件来制成.so吗?

论坛徽章:
0
5 [报告]
发表于 2008-08-06 10:42 |只看该作者
你需要看书,论坛不能当课堂用

论坛徽章:
0
6 [报告]
发表于 2008-08-06 11:09 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
7 [报告]
发表于 2008-08-06 11:20 |只看该作者
http://www.oklinux.cn/html/developer/java/20070630/33742.html
http://zhidao.baidu.com/question/31919109.html?fr=qrl
两个做动态库的小例子,动态库感觉还是比较麻烦,除非库不经常更新

论坛徽章:
0
8 [报告]
发表于 2008-08-06 11:24 |只看该作者
谢谢楼上的了!!

论坛徽章:
0
9 [报告]
发表于 2008-08-07 15:29 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP