免费注册 查看新帖 |

Chinaunix

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

如何用GCC把多个.so文件合并成一个.so文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-08 10:28 |只看该作者 |倒序浏览
问题是这样的,我现在分别编译出了三个.so文件,分别是a.so b.so c.so
现在想通过gcc把这三个.so文件连成一个.so
不是用.o文件,直接用.so文件,不知道能不能实现?实现的命令是什么?
谢谢!

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
2 [报告]
发表于 2009-07-08 10:29 |只看该作者
原帖由 catoran 于 2009-7-8 10:28 发表
问题是这样的,我现在分别编译出了三个.so文件,分别是a.so b.so c.so
现在想通过gcc把这三个.so文件连成一个.so
不是用.o文件,直接用.so文件,不知道能不能实现?实现的命令是什么?
谢谢!

Why you want to do this?

论坛徽章:
0
3 [报告]
发表于 2009-07-08 10:31 |只看该作者
原帖由 MMMIX 于 2009-7-8 10:29 发表

Why you want to do this?


因为这三个.so的空间加起来太大了,想通过连接成一个.so来压缩一点点空间

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
4 [报告]
发表于 2009-07-08 11:12 |只看该作者
原帖由 catoran 于 2009-7-8 10:31 发表


因为这三个.so的空间加起来太大了,想通过连接成一个.so来压缩一点点空间

为什么你觉得把它们合并在一起使用的空间会小?

论坛徽章:
0
5 [报告]
发表于 2009-07-08 12:06 |只看该作者
原帖由 MMMIX 于 2009-7-8 11:12 发表

为什么你觉得把它们合并在一起使用的空间会小?


我已经用所有相关的.o文件做成了一个总的.so文件,总空间比三个加起来要小
用这样的方法用做,Makefile改的东西太多,且还有几个这样的工作要做,工作量太大

论坛徽章:
0
6 [报告]
发表于 2009-07-08 13:50 |只看该作者
不要编成so, 编成 3个 .a 这样 make file 改动少,把 .a连接起来即可

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
7 [报告]
发表于 2009-07-08 13:54 |只看该作者
原帖由 catoran 于 2009-7-8 12:06 发表


我已经用所有相关的.o文件做成了一个总的.so文件,总空间比三个加起来要小

少了多少?你有没有 strip?

论坛徽章:
0
8 [报告]
发表于 2009-07-09 00:13 |只看该作者
对动态库不了解,我觉得要是有特殊的工具应该可以

论坛徽章:
0
9 [报告]
发表于 2009-07-09 11:58 |只看该作者
原帖由 connet 于 2009-7-8 13:50 发表
不要编成so, 编成 3个 .a 这样 make file 改动少,把 .a连接起来即可

用静态库的话,空间会更大啊

论坛徽章:
0
10 [报告]
发表于 2009-07-09 11:59 |只看该作者
原帖由 MMMIX 于 2009-7-8 13:54 发表

少了多少?你有没有 strip?

空间小了4.2%
所有的都用了strip
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP