yiyaolin

yiyaolin

0个粉丝

7

问答

0

专栏

0

资料

yiyaolin  发布于  2017-10-22 09:00:20
采纳率 0%
7个问答
1885

小型化問題

 
目前程序是采用预设的静态库编译,编译结果约有1.2Mb,想要把应用程序小型化,找文档找到下面说明:

【现象】应用程序只使用libmpi.a 一小部分函数,但需要链接mpi 库外vqev2 等库文
件,导致应用程序文件过大。
【分析】链接时默认需要链接库中所有定义函数表,从而需要引用mpi 库中关联的其他
库。
【解决】MPP 版本生成库时,Makefile.param 加入 -ffunction-sections 编译选项;客户在
链接生成应用程序时加入 -Wl,-gc-sections,能有效减小应用程序大小,剔除掉没有使
用到的函数。

但是我在sample下的Makefile.param中, FLAGS内加入 -ffunction-sections,应用程序后并没有变小?
依据文档说明,"链接生成应用程序时加入 -Wl,-gc-sections"是要加在什么地方?
有人有尝试过如何将程序小型化吗?如果采用动态编译,Makefile要怎么改?
我来回答
回答3个
时间排序
认可量排序

kelisi

0个粉丝

8

问答

0

专栏

8

资料

kelisi 2017-10-22 09:43:12
认可0
strip 下看看

yiyaolin

0个粉丝

7

问答

0

专栏

0

资料

yiyaolin 2017-10-22 12:48:52
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=79778&ptid=38044]kelisi 发表于 2017-10-22 09:43[/url]
strip 下看看[/quote]

strip後有小一些,但是還是約有1M左右,想要再小一些,把沒有用到的不要編進來

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-10-23 16:47:49
认可0
本帖最后由 zhuangweiye 于 2017-10-23 16:51 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=79782&ptid=38044]yiyaolin 发表于 2017-10-22 12:48[/url]
strip後有小一些,但是還是約有1M左右,想要再小一些,把沒有用到的不要編進來[/quote]

-Wl,-gc-sections 加到 sample 的Makefile 中, 产生可执行文件的Makefile中的LDFLAG里面


-ffunction-sections 这个是加到编译 .a 的Makefile 中,海思的.a是海思编译的,我们没办法加,自己编译自己的.a时要加上
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区