OS X 固有のコードには、どの C プリプロセッサ条件を使用すればよいですか? OS X 用にコンパイルする場合は特定のライブラリを含める必要があり、Linux 用にコンパイルする場合は別のヘッダーを含める必要があります。
あることは知ってい__APPLE__
ますが、それが現在の OS X 10.x の条件であるかどうかはわかりません。
OS X 固有のコードには、どの C プリプロセッサ条件を使用すればよいですか? OS X 用にコンパイルする場合は特定のライブラリを含める必要があり、Linux 用にコンパイルする場合は別のヘッダーを含める必要があります。
あることは知ってい__APPLE__
ますが、それが現在の OS X 10.x の条件であるかどうかはわかりません。
このオペレーティング システム マクロのリストには、両方 __APPLE__
の 存在が__MACH__
示され、OSX が示されています。
のソースfdisk
部分の18行目も確認 。
__APPLE__
Appleプラットフォームでコンパイルしていることがわかります。OS Xより前のMacOSバージョンをサポートする必要がない限り、それで十分です。または、 OSXでコンパイルしていることを確認するためにを__APPLE__
使用することもできます。__MACH__
私の記憶が正しければ、それは__APPLE__
:)
このコード例はあなたを助けるかもしれません -
if defined(__APPLE__)
#include "TargetConditionals.h"
if (!defined(TARGET_OS_IPHONE) && !defined(TARGET_IPHONE_SIMULATOR))
{
//write your OSX specific code here
}
このページには、すべての OS 定義済みマクロのリストが含まれています。
Mac OSX の場合、__APPLE__
&&の両方__MACH__
を定義する必要があります。