clang

429 阅读1分钟

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 (手机)