でGCC対LLVMを決定します。それは私がはるかに少ない便利ですは、私は次のようなマクロを書く似たしようとしているコンパイル時
#ifndef DEPRECATED_ATTRIBUTE_MESSAGE
#define DEPRECATED_ATTRIBUTE_MESSAGE(message) __attribute__((deprecated))
#endif
にそれを取り除くために持っている意味、何のためにコンパイル時に壊れます。
私の質問:
私は解決策は、コンパイル時にコンパイラのバージョンを識別するためのいくつかのマクロを適用することだと思います。 Apple LLVM 3.0コンパイラとLLVM GCC 4.2またはGCC 4.2(または何か他のもの)を区別する方法はありますか?
理想的には、私はこのような何かをうまくしたいのですが、私はそれを把握する権利マクロを見つけることができません。
#ifdef [Apple LLVM 3.0]
#ifndef DEPRECATED_ATTRIBUTE_MESSAGE
#define DEPRECATED_ATTRIBUTE_MESSAGE(message) __attribute__((deprecated (message)))
#endif
#else
#ifndef DEPRECATED_ATTRIBUTE_MESSAGE
#define DEPRECATED_ATTRIBUTE_MESSAGE(message) __attribute__((deprecated))
#endif
#endif
これは完全に機能しました。ありがとう。 – Hyperbole