美文网首页iOS开发
iOS开发- clang -rewrite-objc的使用

iOS开发- clang -rewrite-objc的使用

作者: Pandakingli | 来源:发表于2017-11-20 15:42 被阅读15次

    clang -rewrite-objc 的作用是把oc代码转写成c/c++代码,常用它来查看OC的底层实现。

    1.基本使用

    //使用命令行进入main.m的目录,执行下面的命令
    clang -rewrite-objc main.m
    //会产生一个main.cpp文件
    

    2.查看机器上装有的的sdk

    xcodebuild -showsdks 
    iOS SDKs:
        iOS 11.1                        -sdk iphoneos11.1
    
    iOS Simulator SDKs:
        Simulator - iOS 11.1            -sdk iphonesimulator11.1
    
    macOS SDKs:
        macOS 10.13                     -sdk macosx10.13
    
    tvOS SDKs:
        tvOS 11.1                       -sdk appletvos11.1
    
    tvOS Simulator SDKs:
        Simulator - tvOS 11.1           -sdk appletvsimulator11.1
    
    watchOS SDKs:
        watchOS 4.1                     -sdk watchos4.1
    
    watchOS Simulator SDKs:
        Simulator - watchOS 4.1         -sdk watchsimulator4.1
    

    3.具体情况

    //指定真机
    xcrun -sdk iphoneos clang -rewrite-objc main.m  
    
    //指定模拟器
    xcrun -sdk iphonesimulator clang -rewrite-objc main.m 
    
    //指定SDK版本
    xcrun -sdk iphonesimulator10.3 clang -rewrite-objc main.m  
    
    //指定framework
    xcrun -sdk iphonesimulator11.1 clang -rewrite-objc -F /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks main.m 
    
    //可以同时指定多个源文件、多个framework
    

    相关文章

      网友评论

        本文标题:iOS开发- clang -rewrite-objc的使用

        本文链接:https://www.haomeiwen.com/subject/jlmvvxtx.html