# プリプロセッサ変数 上級 プログラマー 複数のプラットフォームを対象とする開発を行っていると、プラットフォームごとにカスタム コードを作成することが必要な場合がよくあります。通常、そのための最善の方法は [Platform.Type](xref:Stride.Core.Platform.Type) および [GraphicsDevice.Platform](xref:Stride.Graphics.GraphicsDevice.Platform) を使用することです。もう 1 つの方法として、**プリプロセッサ変数**を使用することもできます。 > [!WARNING] > 可能な場合はプリプロセッサ変数を使わずに、[Platform.Type](xref:Stride.Core.Platform.Type) および [GraphicsDevice.Platform](xref:Stride.Graphics.GraphicsDevice.Platform) を使用することをお勧めします。これは、コンパイル時にターゲット プラットフォーム用のコードのみがチェックされ、コードのエラーが見落とされる可能性があるためです。 ## プラットフォーム | 変数 | 値 | | -------------------------------------- | ------------------------------ | | SILICONSTUDIO_PLATFORM_WINDOWS | Windows (標準および RT) | | SILICONSTUDIO_PLATFORM_WINDOWS_DESKTOP | Windows (非 RT) | | SILICONSTUDIO_PLATFORM_WINDOWS_RT | Windows RT | | SILICONSTUDIO_PLATFORM_WINDOWS_PHONE | Windows Phone | | SILICONSTUDIO_PLATFORM_MONO_MOBILE | Xamarin.iOS または Xamarin.Android | | SILICONSTUDIO_PLATFORM_ANDROID | Xamarin.Android | | SILICONSTUDIO_PLATFORM_IOS | Xamarin.iOS | ## グラフィックス API | 変数 | 値 | | --------------------------------------------- | --------------------- | | Stride_GRAPHICS_API_DIRECT3D | Direct3D 11 | | Stride_GRAPHICS_API_OPENGL | OpenGL (Core および ES) | | Stride_GRAPHICS_API_OPENGLCORE | OpenGL Core (Desktop) | | Stride_GRAPHICS_API_OPENGLES | OpenGL ES | | Stride_GRAPHICS_API_VULKAN | Vulkan | ## 例 ```cs #if SILICONSTUDIO_PLATFORM_WINDOWS // Windows 固有のコードはここに記述する... #elif SILICONSTUDIO_PLATFORM_MONO_MOBILE // iOS および Android 固有のコードはここに記述する... #else // その他のプラットフォームのコードはここに記述する... #endif ``` ## 関連項目 * [プラットフォーム](../platforms/index.md) * [スクリプトの種類](types-of-script.md) * [スクリプトを作成する](create-a-script.md) * [スクリプトを使用する](use-a-script.md) * [パブリック プロパティとフィールド](public-properties-and-fields.md) * [スケジュール設定と優先順位](scheduling-and-priorities.md) * [イベント](events.md) * [デバッグ](debugging.md)