關(guān)于clang -rewrite-objc的點滴

clang -rewrite-objc的作用是把obicetive-c代碼轉(zhuǎn)寫成c/c++代碼,一般用于查看obicetive-c源碼的秘密,尤其是關(guān)于Block的知識。

1. 看一段最簡單的代碼。


然后打開終端,對main.m執(zhí)行命令:

命令執(zhí)行以后,目錄下多出一個main.cpp文件,打開一看,四萬多行代碼。其關(guān)鍵代碼如下:

一般大家用這個例子探究block的原理。

2. 指定SDK

oc代碼要轉(zhuǎn)成c代碼時,真機和模擬器上差別還是挺大的。如果需要指定SDK,那么要結(jié)合xcrun命令,

真機:

模擬器:

模擬器和真機都有默認的SDK版本,某個版本號的SDK

3. 指定framework

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

以上都是簡單示例,實際工作中可以同時指定多個源文件、多個framework。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容