美文网首页iOS收藏
iOS Clang结合Kaleidoscope进行源码分析

iOS Clang结合Kaleidoscope进行源码分析

作者: SangShen | 来源:发表于2016-01-15 15:57 被阅读0次

    看了很多大牛的runtime的文章,很多大牛都在用Clang进行源码分析。实属菜鸟的我也尝试了一下使用Clang进行重写,结果呢~呵呵哒,100000行代码~你去找你改了哪个地方给我看~(机制的小伙伴说可以写备注,然后commond+f一下嘛~可是并没有我们想的这么简单,因为事实上还有其它改动)。

    某天惊奇的发现了Kaleidoscope这个软件,其功能就是进行两个及以上文件不同比对,支持图像比对~吊吊吊。

    不废话看实现。首先我们创建一个简单的测试类。

    比如说HZTestObject吧。

    然后在终端中执行cd到文件的当前目录 cd /usr/……………………

    clang -rewrite-objc HZTestObject.m

    然后系统会帮你创建好HZTestObject.cpp文件

    这个时候把它先保存到另外一个地方,因为后面要拿这个进行原版比对。

    现在我们就可以往里面进行你想要的东西内容的填充了。

    之前看过这位大牛对于runtime的理解,默默偷点内容过来。

    OK,在函数的实现中加入这些:

    - (instancetype)init{

         self = [super init];

         if (self) {

         [self foo];

        }

       return self;

    }

    - (void)foo{

    NSLog(@"log");

    }

    添加完后继续在终端执行:

    clang -rewrite-objc HZTestObject.m

    OK~运行得到了另外一个.cpp文件~然后就Kaleidoscope

    Kaleidoscope执行结果图

    OK 结果如图~关于程序解释参考Chun Tips的解释吧~

    相关文章

      网友评论

        本文标题:iOS Clang结合Kaleidoscope进行源码分析

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