社区
Linux/Unix社区
帖子详情
如何减小GCC生成文件的体积
Loaden
2009-06-16 03:22:30
知道可以使用strip,即-s编译选项。
还有别的吗?
比如:有没有选项,使得只链接需要的函数,多余的函数都不链接进生成的文件?
...全文
757
7
打赏
收藏
如何减小GCC生成文件的体积
知道可以使用strip,即-s编译选项。 还有别的吗? 比如:有没有选项,使得只链接需要的函数,多余的函数都不链接进生成的文件?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
猫已经找不回了
2009-06-16
打赏
举报
回复
http://www.yuanma.org/data/2007/0821/article_2829.htm
都从动态库来说,我提供一个优化的文章吧。
neohope
2009-06-16
打赏
举报
回复
1.优化
2.不要使用静态库
linaxing
2009-06-16
打赏
举报
回复
进量使用动态库,
尽量避免使用静态数组...
datacode
2009-06-16
打赏
举报
回复
[Quote=引用楼主 Loaden 的帖子:]
比如:有没有选项,使得只链接需要的函数,多余的函数都不链接进生成的文件?
[/Quote]
可以考虑采用动态库
threeleafzerg007
2009-06-16
打赏
举报
回复
那就要好好研究 gcc 编译选项了。。。 -O3 全局变量尽量在.bss 等等
puheavy123
2009-06-16
打赏
举报
回复
http://hi.baidu.com/goldenstar1020/blog/item/2ed50124aa8552044d088d6c.html
最后一点。。。lz看看
puheavy123
2009-06-16
打赏
举报
回复
http://topic.csdn.net/u/20081105/22/30bd1abc-b366-4044-b24d-0a397b81b649.html
wxWidgets 2.9.2svn(3.x)最小
体积
编译方法
本文介绍了如何最小化wxWidgets库的编译
体积
,包括删除wxWidgets的setup.h
文件
,修改setup0.h的宏设置,以及针对
GCC
和VC编译器的不同编译选项。通过这些方法,可以显著
减小
生成
的动态库和静态链接可执行
文件
的大小。
STM32CubeMX
生成
的Makefile里,这5个
GCC
编译选项到底干了啥?(-specs=nano.specs, -ffunction-sections等)
本文深入解析STM32CubeMX
生成
Makefile中5个核心
GCC
编译选项:-specs=nano.specs(启用newlib-nano精简C库)、-ffunction-sections与-Wl,--gc-sections(函数级分段+无用段回收以
减小
代码
体积
)、-Wl,-Map=output.map(
生成
内存布局与符号映射的链接报告)、-Og(调试友好的优化级别)、-MMD -MP -MF(自动
生成
头
文件
依赖关系)。这些选项共同优化嵌入式固件
体积
、调试体验与构建可靠性,实测可减少26% Flash占用。
gcc
生成
静态库.a与动态库.so并使用
本文通过实例详细介绍了如何使用
GCC
生成
静态库和动态库,并在程序中进行调用。静态库在编译时会被链接,而动态库在运行时加载。创建静态库使用`ar`命令,动态库则需`
gcc
`配合`-shared`选项。在使用动态库时,需确保库
文件
位于正确路径或复制到系统库目录。对比两者,静态库使程序
体积
增大,但运行时无需依赖外部库;动态库则
减小
程序大小,但运行依赖动态库
文件
。
动态库与静态库的使用
本文详细介绍了Linux环境下如何创建和使用静态库与动态库。静态库在编译时会被链接到目标代码中,使程序运行不再需要库
文件
,但导致程序
体积
增大。动态库在运行时加载,
减小
了程序
体积
,但运行时需要库
文件
。制作静态库涉及编译源码、使用ar命令创建库,而动态库则需通过
gcc
命令
生成
。在使用动态库时,可通过修改环境变量或配置
文件
来解决找不到库的问题。
Linux动态库
本文详细介绍了动态库(lib+名字+.so)的命名规则、创建步骤、使用方法及常见问题解决方案。涵盖
gcc
命令
生成
与位置无关代码(.o
文件
),打包
生成
库
文件
,以及在程序中链接动态库的具体操作。同时,探讨了动态库的优点如
减小
程序
体积
,更新便利,以及缺点如需随程序发布和加载速度问题。
Linux/Unix社区
23,223
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章