ios oc 代码 转换为 c++ 描述代码编译过程

clang -rewrite-objc main.m

#import <Foundation/Foundation.h>
#import <objc/runtime.h>

// clang -rewrite-objc main.m
// 生成main.m转成C\C++后的代码

//int age = 20;

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // c plus plus
//        NSArray *array = [[NSArray alloc] init];
//        [array count];
        
        
        // 定义age变量
//        __block int age = 20;
        static int age = 20;
        
        // 定义一段代码
        void (^block)() = ^{ // 这种情况下, 是将&age传进来了
            // age is 30
            NSLog(@"age is %d", age);
        };
        
        // 修改age变量
        age = 30;
        
        block();
    }
    return 0;
}

void testBlock2()
{
    // 定义age变量
    int age = 20;
    
    // 定义一段代码
    void (^block)() = ^{ // 这种情况下, age是值传递
        // age is 20
        NSLog(@"age is %d", age);
    };
    
    // 修改age变量
    age = 30;
    
    block();
}

void testBlock()
{
//        static int age = 20;
    __block int age = 20;
    
    void (^block)() = ^{
        age = 30;
    };
    block();
    
    NSLog(@"%d", age);
}

 

转载于:https://www.cnblogs.com/developer-ios/p/4875538.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值