如何确定编译器当前处于 ARC 模式?
Posted
技术标签:
【中文标题】如何确定编译器当前处于 ARC 模式?【英文标题】:How to determine compiler is currently in ARC mode? 【发布时间】:2012-01-15 19:42:48 【问题描述】:我有几个inline static
C 函数。我调用 Objective-C 代码,包括[-release]
。
问题是我必须编译 ARC 或非 ARC 目标的代码。所以我认为我需要通过预定义的编译器标志进行条件编译。我应该为此使用什么标志?
【问题讨论】:
【参考方案1】:来自http://lists.apple.com/archives/xcode-users/2011/Aug/msg00252.html:
LLVM 编译器的检查称为
__has_feature
。 ARC是其中之一 您可以检查的功能。#ifndef __has_feature // not LLVM Compiler #define __has_feature(x) 0 #endif #if __has_feature(objc_arc) // compiling with ARC #else // compiling without ARC #endif
【讨论】:
以上是关于如何确定编译器当前处于 ARC 模式?的主要内容,如果未能解决你的问题,请参考以下文章
如何确定 Skype 通话当前是不是在 Android 上处于活动状态
@synthesize of 'weak' property 仅允许在 ARC 或 GC 模式下使用 urbanship 首次编译