クロスプラットフォーム開発のための C プリプロセッサでのオペレーティング システムの検出
プリプロセッサ段階で基盤となるオペレーティング システムを決定することは、クロスプラットフォーム開発にとって重要です。プラットフォームの C/C コード。幸いなことに、ほとんどのコンパイラは、信頼性の高い検出を可能にする特定のマクロを定義しています。
GCC および Clang マクロ
GCC および Clang コンパイラは、使用できる事前定義マクロの包括的なリストを提供します。 OS 識別用:
GCC の例
これらのマクロをどのように使用できるかの例を次に示します。 GCCで利用されるコンパイル:
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) // Define something for Windows (32-bit and 64-bit) #ifdef _WIN64 // Define something for Windows (64-bit only) #else // Define something for Windows (32-bit only) #endif #elif __APPLE__ #include <TargetConditionals.h> #if TARGET_IPHONE_SIMULATOR // iOS, tvOS, or watchOS Simulator #elif TARGET_OS_MACCATALYST // Mac's Catalyst (ports iOS API into Mac, like UIKit). #elif TARGET_OS_IPHONE // iOS, tvOS, or watchOS device #elif TARGET_OS_MAC // Other kinds of Apple platforms #else #error "Unknown Apple platform" #endif #else #error "Unknown compiler" #endif
重要な考慮事項
以上がクロスプラットフォーム開発の C プリプロセッサでオペレーティング システムを検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。