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__を定義する必要があります。