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才是真正做到了简洁,即使你多年不用,上手还是那么快。

    相关文章

      网友评论

        本文标题:Xcode linkmap文件分析

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