私はいくつかのinline static
C関数を持っています。そして、私はを含むObjective-Cコードを呼び出します[-release]
。
問題は、このコードをARCまたは非ARCターゲットの両方でコンパイルする必要があることです。したがって、事前定義されたコンパイラフラグによる条件付きコンパイルが必要だと思います。これにはどのフラグを使用する必要がありますか?
私はいくつかのinline static
C関数を持っています。そして、私はを含むObjective-Cコードを呼び出します[-release]
。
問題は、このコードをARCまたは非ARCターゲットの両方でコンパイルする必要があることです。したがって、事前定義されたコンパイラフラグによる条件付きコンパイルが必要だと思います。これにはどのフラグを使用する必要がありますか?
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