iOS开发之: clang -rewrite-objc

clang -rewrite-objc的作用是把oc代码转写成c/c++代码,我们常用它来窥探OC的一些秘密。

最简单的例子

新建项目,在main.m里建一个对象,并随意调用其一个方法

屏幕快照 2017-03-03 上午10.11.24.png
屏幕快照 2017-03-03 上午10.08.36.png

接下来,打开终端

个人习惯打开终端的方式
屏幕快照 2017-03-03 上午9.51.36.png

cd 到main.m所在目录

屏幕快照 2017-03-03 上午9.54.44.png

ls查看当前目录文件,确认main.m 存在

屏幕快照 2017-03-03 上午10.13.24.png

开始转换

屏幕快照 2017-03-03 上午10.16.32.png

编译完成,打开main.m所在目录

这个main.cpp就是转换好的东西,双击打开

直接拖到最下面

屏幕快照 2017-03-03 上午10.21.07.png

这就是底层的实现

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 2000年,伊利诺伊大学厄巴纳-香槟分校(University of Illinois at Urbana-...
    星光社的戴铭阅读 16,124评论 8 180
  • iOS代码块Block 概述 代码块Block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,B...
    smile刺客阅读 2,402评论 2 26
  • 前言 Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这...
    小人不才阅读 3,794评论 0 23
  • Block使用场景,可以在两个界面的传值,也可以对代码封装作为参数的传递等。用过GCD就知道Block的精妙之处。...
    Coder_JMicheal阅读 755评论 2 1
  • 初中的时候,我数学很烂,他数学很好,经常有什么不会的都会请教他,所以分班的时候我最担心的就是他不在了,老师提问...
    随笔23333阅读 203评论 1 0