2

私はいくつかのinline staticC関数を持っています。そして、私はを含むObjective-Cコードを呼び出します[-release]

問題は、このコードをARCまたは非ARCターゲットの両方でコンパイルする必要があることです。したがって、事前定義されたコンパイラフラグによる条件付きコンパイルが必要だと思います。これにはどのフラグを使用する必要がありますか?

4

1 に答える 1

2

http://lists.apple.com/archives/xcode-users/2011/Aug/msg00252.htmlから:

LLVMコンパイラのチェックはと呼ばれ__has_featureます。ARCは、確認できる機能の1つです。

#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
于 2012-01-15T19:53:23.270 に答える