clang-百度百科
Clang是一个由Apple主导编写,基于LLVM的C/C++/Objective-C编译器。\
- 可通过clang编译成c++文件,查看底层结构和追溯源码实现.
- clang官网
常用命令
- clang -rewrite-objc main.m -o main.cpp 把目标文件编译成c++文件
报错
- 编译Person.m文件: clang -rewrite-objc -fobjc-arc -fobjc-runtime=ios-13.0.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.0.sdk Person.m
uikit报错:clang: error: no such file or directory: 'iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.0.sdk' 解决:xcode显示包内容 找下这个路径下13.0.sdk是否存在 替换成已存在的。
xcrun
xcode安装的时候顺带安装了xcrun命令,xcrun命令在clang的基础上进行了 一些封装,要更好用一些
xcrun -sdk iphonesimulator 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 (手机)