在iOS 开发过程中,涉及到一些代码的实现,有时候需要将OC代码转换成C++ 来看一下OC代码底层实现,特此记录一下开发过程中的转换命令.
Object-C转换
格式:
xcrun -sdk 模拟器还是真机 clang(编译器) -arch arm64(指令架构集) -rewrite-objc main.m(输入文件) -o main-arm64.cpp(输出文件)
//例子
xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc main.m -o main-arm64.cpp
有时候ARC的一些修饰符比如 weak,会报异常
cannot synthesize weak property because the current deployment target does not support weak references
并且携带报错的信息
然后可以再添加参数指定arc模式,指定runtime的版本
-fobjc-arc -fobjc-runtime=ios-8.0.0
//汇总如下:
xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc -fobjc-arc -fobjc-runtime=ios-8.0.0 main.m -o main-arm64.cpp
然后就可以将生成的.cpp文件拖进到工程,然后我们修改OC代码继续执行相关命令,可以动态查看变化
网友评论