Objective-C 源码初探 __attribute__

Posted Ficow Shen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Objective-C 源码初探 __attribute__相关的知识,希望对你有一定的参考价值。




#import
<Foundation/Foundation.h> #define onExit\ __strong void (^block)() __attribute__((cleanup(cleanup),unused)) = ^ __attribute__((constructor)) void ExecuteBefore_main(){ printf("ExecuteBefore_main\n"); } __attribute__((destructor)) void ExecuteAfter_main(){ printf("ExecuteAfter_main\n"); } void functionDeprecatedAndObsoleteWarningAndError() __attribute__ ((availability(macosx,introduced=10.4,deprecated=10.10,obsoleted=10.13))); void functionDeprecatedAndObsoleteWarningAndError(void){ } int returnValueNotUnusedWarning() __attribute__ ((warn_unused_result)); int returnValueNotUnusedWarning(){ return 1; } void cleanup(__strong void (^*block)()){ (*block)(); } int main(int argc, const char * argv[]) { @autoreleasepool { printf("Hello, World!\n"); functionDeprecatedAndObsoleteWarningAndError(); returnValueNotUnusedWarning(); onExit{ printf("onExit\n"); }; } return 0; }



 

以上是关于Objective-C 源码初探 __attribute__的主要内容,如果未能解决你的问题,请参考以下文章

Objective-C_类的扩展

初探 Yii2 的测试模式 index-test.php

初探 Objective-C/C++ 异常处理实现机制

7_1 XML模块

初探审计-extract变量覆盖

Flask初探