现在在做一个 iOS 的静态库,因为公司对静态库有比较严的体积要求,现在需要压缩掉基本 50%左右的空间。 因为有涉及到 eigen 之类比较大的第三方依赖,所以想按函数为单位去精简一下。
多谢
1 noli 2017-02-12 14:52:49 +08:00 via iPhone 今日头条 iOS 客户端启动速度优化实践 |
2 noli 2017-02-12 14:59:14 +08:00 via iPhone 忽略我上一层回复,我记错了,里面没有找 unused 函数的工具,只有未被使用的类 |
3 noli 2017-02-12 15:03:40 +08:00 via iPhone |
![]() | 4 MCVector 2017-02-12 15:03:44 +08:00 via Android 试试 lcov 测试一下 code coverage |
![]() | 5 ryd994 2017-02-12 15:53:31 +08:00 coverage 很多时候是 profiling 的时候顺便,说白了就是找 profiling 当中调用次数为 0 的 |
![]() | 6 ryd994 2017-02-12 16:19:55 +08:00 顺带一提,完全自动化的测试是做不到的,必须人工测试各种输入,或者编写测试框架,但不可能从头到尾都全自动 |
![]() | 7 zhidian 2017-02-12 16:28:18 +08:00 via Android 不知道是不是我弄错了(不懂 iOS )。静态库不是会被链接到二进制里面? Eigen 只有头文件,那就跟静态库没关系了。。。。。。 |
8 owt5008137 2017-02-12 16:32:50 +08:00 via Android 除 Windows 外好像接口默认是导出的,所以把不需要的接口设为不导出,最后在链接优化的时候没使用过的会被链接器去掉的。 |
![]() | 9 lululau 2017-02-12 16:36:52 +08:00 |
10 yichen 2017-02-15 17:15:10 +08:00 推荐一个工具,自带 Mac GUI 界面,还能批量对无用函数注释。 https://github.com/ming1016/SMCheckProject |