首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[flash相关]crossBridge生成的库文件体积优化

[flash相关]crossBridge生成的库文件体积优化

作者头像
IMWeb前端团队
发布2019-12-04 13:09:44
发布2019-12-04 13:09:44
4960
举报
文章被收录于专栏:IMWeb前端团队IMWeb前端团队

本文作者:IMWeb 黄龙 原文出处:IMWeb社区 未经同意,禁止转载

不明白crossBridge是什么的可以看下这里 https://cloud.tencent.com/developer/article/1008908

flash相关crossBridge生成的库文件体积优化

编译参数-flto-api=

Specifies a file containing the public API LLVM should preserve (implies that the optimizer is free to strip any symbols not mentioned in this file that aren't referenced by the symbols mentioned in this file)

大体意思就是:指定一个包含你要保留API LLVM 的文件(其他你不需要的就会被优化掉了) 翻译来源:http://bbs.9ria.com/forum.php?mod=viewthread&tid=213448&page=1#pid2094494

为了搞清楚这个东西是怎么玩的,在万能的github上找到一个项目 https://github.com/crossbridge-community/crossbridge-swc-devil 目前为止star是1,要不要点一下。

为什么要以这个项目为例子,因为它的swc仅仅只有167K 看一下它的exports.txt里面写了什么

代码语言:javascript
复制
# built in symbols that must always be preserved
# 构建始终保留的符号
_start1
malloc
free
memcpy
memmove
flascc_uiTickProc
_sync_synchronize

# symbols for C++ exception handling
# C++异常处理的符号
_Unwind_SjLj_Register
_Unwind_SjLj_Resume
_Unwind_SjLj_Unregister
_Unwind_SjLj_RaiseException

# custom symbols
# 自定义符号

试试用这个export.txt来优化库文件体积看看有什么效果。

编译命令行加参数 -flto-api=exports.txt 文件和makefile文件同级即可

测试视频直播SDK通过这个参数减肥340K左右从761K减到419K。编译的swf文件整体体积减小240K左右从558K到315K。效果比较明显在此记录一下。

此处有一个坑,就是这样编译出来的swc文件里面的命名空间可能会是一个很长的临时目录名,但不影响使用

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-12-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • flash相关crossBridge生成的库文件体积优化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档