iOS 代码转成C++

在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
并且携带报错的信息

iOS 代码转成C++_第1张图片
image.png

然后可以再添加参数指定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代码继续执行相关命令,可以动态查看变化

你可能感兴趣的:(iOS 代码转成C++)