美文网首页
__attribute__((constructor))用法解析

__attribute__((constructor))用法解析

作者: 北京的天空 | 来源:发表于2019-05-31 17:23 被阅读0次

    attribute
    GNU C 的一大特色就是attribute 机制。attribute 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。
    attribute 书写特征是:attribute 前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的attribute 参数。
    attribute 语法格式为:attribute ((attribute-list))
    attribute((constructor))
    既然搞不懂,我的习惯是写Demo,将不懂得东西抽取出来,便于排除其他因素,
    新建一个工程,将main.m改写如下:
    int main(int argc, char * argv[]) {
    @autoreleasepool {
    printf("main function");
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
    }
    attribute((constructor)) static void beforeFunction()
    {
    printf("beforeFunction\n");
    }

    然后运行,发现打印如下:
    beforeFunction
    main function

    作者:kenny肉桂
    链接:https://www.jianshu.com/p/dd425b9dc9db
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    相关文章

      网友评论

          本文标题:__attribute__((constructor))用法解析

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