当前位置: 首页 > news >正文

动态库空间优化

1. 使用-OS编译

Os在-O2的基础上,去除对齐的功能,意在去除空白空间,在与-O2几乎一致的效率上面,追求空间优化

2. objcopy去除comment段

.comment段:存放的是编译器版本信息,比如字符串"GCC:(GNU)4.2.0"

objcopy是交叉编译链的工具

3.去除未被使用的function和data

(1)编译时候加上 -ffunction-sections   和 -fdata-sections
(2)链接时候加上 -Wl,-gc-sections

如: LD_FLAGS    += -Wl,-gc-sections        CC_FLAGS+=-ffunction-sections

4. 隐藏符号

对于动态库只需要头文件的接口对外可见,其余的隐藏。

(1)对外可见函数加上 __attribute ((visibility("default")))
(2)编译的时候加上-fvisibility=hidden

 

转载于:https://my.oschina.net/xgcode/blog/2240178

相关文章:

  • 贝叶斯分类器
  • 【完整教程】新版直播频道上线,马上开始创建你的直播吧!
  • 如何用三个月学会python?
  • JDK11的工具的命令参考
  • MySQL缓存及变量
  • MySQL基础之 索引
  • 2.2 目录及文本文件操作命令
  • 等等!这两个 Spring-RabbitMQ 的坑我们已经替你踩了
  • 内存对齐
  • opencv提取保存轮廓图
  • Vue中注意target和currentTarget的使用
  • 并发-4-volatile
  • [SDOI2009]Elaxia的路线
  • ES学习笔记(12)--Symbol
  • Redis 中的布隆过滤器
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Bytom交易说明(账户管理模式)
  • ES6 学习笔记(一)let,const和解构赋值
  • js面向对象
  • magento 货币换算
  • MySQL的数据类型
  • mysql外键的使用
  • oldjun 检测网站的经验
  • React Native移动开发实战-3-实现页面间的数据传递
  • Shadow DOM 内部构造及如何构建独立组件
  • 大数据与云计算学习:数据分析(二)
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 微信开放平台全网发布【失败】的几点排查方法
  • 写代码的正确姿势
  • Python 之网络式编程
  • raise 与 raise ... from 的区别
  • 进程与线程(三)——进程/线程间通信
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • "无招胜有招"nbsp;史上最全的互…
  • # 达梦数据库知识点
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (2022 CVPR) Unbiased Teacher v2
  • (6)设计一个TimeMap
  • (day 12)JavaScript学习笔记(数组3)
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • .gitignore
  • .Mobi域名介绍
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .net core 控制台应用程序读取配置文件app.config
  • .Net7 环境安装配置
  • .net与java建立WebService再互相调用