关于clang -rewrite-objc的点滴

clang -rewrite-objc的作用是把obicetive-c代码转写成c/c++代码,一般用于查看obicetive-c源码的秘密,尤其是关于Block的知识。

1. 看一段最简单的代码。


然后打开终端,对main.m执行命令:

命令执行以后,目录下多出一个main.cpp文件,打开一看,四万多行代码。其关键代码如下:

一般大家用这个例子探究block的原理。

2. 指定SDK

oc代码要转成c代码时,真机和模拟器上差别还是挺大的。如果需要指定SDK,那么要结合xcrun命令,

真机:

模拟器:

模拟器和真机都有默认的SDK版本,某个版本号的SDK

3. 指定framework

xcrun -sdk iphonesimulator10.2.1 clang -rewrite-objc –F      /Users/einstein-administrator/Desktop/einstein/einstein  main.m

以上都是简单示例,实际工作中可以同时指定多个源文件、多个framework。

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

推荐阅读更多精彩内容