Xcode linkmap文件分析

作者: 偶是星爷 | 来源:发表于2015-11-07 08:19 被阅读2564次

linkmap文件是xcode link时产生的中间文件,一般用于调试,可以精确知道某个地址对应的函数。

它的另一个用处是,分析每个文件生成代码段的大小。对于一些小项目没什么用处,像QQ或微信这种超级App就比较有用了。因为苹果对上架的app有大小限制,代码段超过100M就不允许上架。

linkmap文件格式就不细写了,很简单,一看就明白(不明白的,网上也有很多文章)。手动分析起来比较麻烦,所以我写了一个脚本。

map.lua

支持按文件名、静态库、framework等方式过滤,输出格式为csv,方便用excel分析。

提供独立可执行文件,这样没有lua环境也可以运行

PS: 这里顺便吐槽一下编程语言的选择。脚本语言一般大家都会选择python、ruby或perl,lua也算脚本语言,但一般用于配合C使用,很少单独写cli。python很早以前学的,经历过很长一段时间2.7 vs 3k选择的折磨,直到遇到了ruby。

ruby这门语言很高级,特性很丰富,能玩出很多花样。迷恋过一段时间,一度认为它是最好的语言,除了运行效率很慢。因为有大半年没有用过ruby,再开始写这个脚本的时候,发现连基本的open file都忘记了。不得不去网上找示例代码,从头学起。后来想到了lua,虽然也是超过半年没接触,但它跟C很像,没有那么多奇怪的语法;标准库也相当的简洁,一页纸足矣。于是用lua一个小时就写完,如果用ruby,查文档花的时间可能都不止这点。不仅感叹,C才是真正做到了简洁,即使你多年不用,上手还是那么快。

相关文章

  • 宏混淆和重新生成类混淆的区别

    LinkMap诡探 Xcode中配置LinkMap LinkMap文件是Xcode产生可执行文件(Mach-O)的...

  • Xcode linkmap文件分析

    linkmap文件是xcode link时产生的中间文件,一般用于调试,可以精确知道某个地址对应的函数。 它的另一...

  • 浅谈iOS的包体积优化(二)

    LinkMap分析可执行文件 LinkMap结构分析 基础信息 类表 里面保存的是所有用到的类生成的.o文件,也包...

  • 2018-11-13

    屁屁公司要求优化ipa大小,为了有数据做参考依据,分析了linkmap 1.XCode -> Project ->...

  • iOS安装包瘦身mark

    查看APP中各个文件的大小 1. LinkMap文件是Xcode产生可执行文件的同时生成的链接信息,用来描述可执行...

  • iOS-APP瘦身

    分析当前ipa的组成 源代码 通过生成linkmap文件,分析源代码生成的编译文件的大小。在Build Setti...

  • 浅谈 LinkMap 检查每个类占用大小

    LinkMap 文件是 Xcode 产生可执行文件的同时生成的链接信息,用来描述可执行文件的构造成分,包括代码段 ...

  • 代码瘦身的步骤

    1、分析大文件[https://github.com/huanxsd/LinkMap]2、检查不是用的图片[htt...

  • App包体积优化思路

    iOS端思路: 代码优化 分析link map文件删除无效代码,可以借助LinkMap[https://githu...

  • parselinkmap.py源码分析

    在LinkMap初探提到了自动分析LinkMap的开源项目,今天来分析一下。 其实源码里面的核心思想挺简单的,就是...

网友评论

    本文标题:Xcode linkmap文件分析

    本文链接:https://www.haomeiwen.com/subject/inuchttx.html