ado*_*oho 9 macros compiler-errors objective-c automatic-ref-counting
我有一个包含ARC代码和非ARC代码的应用程序.当我尝试将非ARC代码编译为ARC时,编译器将捕获.如果在没有ARC的情况下错误地编译ARC代码,如何导致编译时错误/通知?显然,代码将编译.它会泄漏.静态分析仪将解决问题.我宁愿找到一种方法来保留编译指示或在我的ARC代码中定义.
以下内容由Apple定义objc-api.h:
/* OBJC_ARC_UNAVAILABLE: unavailable with -fobjc-arc */
#if !defined(OBJC_ARC_UNAVAILABLE)
# if __has_feature(objc_arr)
# define OBJC_ARC_UNAVAILABLE __attribute__((unavailable("not available in automatic reference counting mode")))
# else
# define OBJC_ARC_UNAVAILABLE
# endif
#endif
Run Code Online (Sandbox Code Playgroud)
我的C-macro-fu很弱.我该如何使用它?或者,或许有更好的符号可供检查?
PS我问,因为我从可重用的库中构建了很多应用程序.我想确保以正确的方式编译每个文件.
Kri*_*izz 10
以下应该有效:
#if !__has_feature(objc_arc)
# error Compile me with ARC, please!
#endif
Run Code Online (Sandbox Code Playgroud)
将它放在文件的顶部.
| 归档时间: |
|
| 查看次数: |
1158 次 |
| 最近记录: |