程序文件大小优化问题(unix)

冰山之海 2011-05-12 05:43:23
我参与了一个机顶盒SDK的项目开发.

客户方说我编译出的 动态库和可执行文件太大了. 我想拜求各位老大,怎么优化可以将make出来的包变小且不影响功能使用啊?

是不是还有什么makefile的参数可以填或将公用的东西,写成动态库?

重谢各份大侠~~
...全文
59 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanghuajia 2011-05-13
  • 打赏
  • 举报
回复
编译时加 -Os参数,
对应so 文件 strip --strip-unneeded *.so
对exec 文件 strip -s xx

这样看看还差多少
Arnold9009 2011-05-12
  • 打赏
  • 举报
回复
想办法压缩代码吧。。。。。。
冰山之海 2011-05-12
  • 打赏
  • 举报
回复
strip过了,减少不了多少~~一小点变化~~ 像.pdr .hr_fame什么的,是不是都可以干掉
[Quote=引用 6 楼 justkk 的回复:]
用strip 命令处理一下看看
[/Quote]
justkk 2011-05-12
  • 打赏
  • 举报
回复
用strip 命令处理一下看看
冰山之海 2011-05-12
  • 打赏
  • 举报
回复
To 4楼: 我搞的是unix下的工程~~
tongfei369 2011-05-12
  • 打赏
  • 举报
回复
 一、复制ORACLE和HMIS文件夹:
  如果原来ORANT和HMIS文件夹在C:盘,复制到新的系统还要放在C:盘;原来的文件来在D:盘,复制到新的系统也要放到D:
  二、导出原系统注册表,并导入新系统的注册表中:
  导出方法:
  单击开始->运行->键入“regedit”并回车,打开注册表编辑器;
  在注册表编辑器中左边树中依次展开“HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE”;
  在ORACLE项上点击鼠标右键->导出,出现导入文件对话框,在文件名处填写“ORACLE”,单击保存,出成注册表文件(要记着保存的位置哟!);
  用相同的方法导出“HKEY_LOCAL_MACHINE\SOFTWARE\yyjsxt”分支,保存为“HMIS”注册表文件;
  导入方法:
  将刚才导出的两个注册表文件“ORACLE.REG”和“HMIS.REG”复制到新系统任意位置,并依次双击这两个注册表文件;
  导入时出现两个对话框,一个是问是否导入的(肯定选是了),另一个是导入成功的对话框,点确定了!
  三、在新系统的PATH中加入ORACLE的BIN路径:
  方法:
  在新系统中,我的电脑->鼠标右键->属性,出现系统属性窗口;
  选“高级”选项卡->单击“环境变量”按钮,出现环境变量设置框;
  上部为用户环境变量,下部为系统环境变量,在下部系统环境变量列表中选择“PATH”,单击下部的“编辑”按钮;
  如果ORANT在D:盘,在变量值的尾部添加“;D:\ORANT\BIN”(那个分号用来分隔不同的文件夹,如果变量值尾部原来有个分号,就不必添加分号了),在C:盘就是“;C:\ORANT\BIN”
  OK,现在我们到HMIS文件件下试一下,将应用程序的快捷方式发送到桌面,完成!

冰山之海 2011-05-12
  • 打赏
  • 举报
回复
readelf *.so -S 出来的值,是不是有些段是可以去掉的?.text还是比较大的
Name Size
000000
.interp 000013
.note.ABI-tag 000020
.note.gnu.build-i 000024
.hash 0016f0
.gnu.hash 0013b8
.dynsym 003b10
.dynstr 01d477
.gnu.version 000762
.gnu.version_r 000160
.rel.dyn 001288
.rel.plt 000ae0
.init 000030
.plt 0015d0
.text 0c4f2c
.fini 00001c
.rodata 0089e2
.eh_frame_hdr 00719c
.eh_frame 022748
.gcc_except_table 01ded1
.ctors 000100
.dtors 000008
.jcr 000004
.data.rel.ro 002350
.dynamic 0000f0
.got 000a98
.got.plt 00057c
.data 00039c
.bss 01198c
.comment 000023
.shstrtab 00011b
.symtab 018150
.strtab 088434
pierre000 2011-05-12
  • 打赏
  • 举报
回复
你这个难度比较大,要看看哪些没有用,哪些有用了!!
「已注销」 2011-05-12
  • 打赏
  • 举报
回复
是不是数据段太大? 看看能不能优化

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧