ホームページ > バックエンド開発 > C++ > .NETで32ビットと64ビットのWindowsアーキテクチャを確実に検出するにはどうすればよいですか?

.NETで32ビットと64ビットのWindowsアーキテクチャを確実に検出するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-27 01:46:09
オリジナル
402 人が閲覧しました

How Can I Reliably Detect 32-bit vs. 64-bit Windows Architectures in .NET?

.NET アプリケーションの Windows アーキテクチャを正確に識別する

.NET アプリケーションの互換性と最適なパフォーマンスを確保するには、正確なプラットフォームの検出が不可欠です。 ただし、Environment.OSVersion.Platform のみに依存すると信頼性が低くなり、64 ビット システムでも "Win32NT" が報告されることがあります。

信頼性の高いアーキテクチャ検出のために、.NET 4 では Environment.Is64BitProcessEnvironment.Is64BitOperatingSystem が導入されました。これらのプロパティは、システムのアーキテクチャを決定するためのより正確な方法を提供します。

これらのプロパティの動作は、mscorlib アセンブリのビット数によって異なります。 32 ビット バージョンでは、Is64BitProcessfalse を返し、Is64BitOperatingSystem は P/Invoke を使用して WoW64 を検出します。 64 ビット バージョンは、両方のプロパティに対して true を返します。

これらの使用法を示すコード例は次のとおりです。

<code class="language-csharp">bool is64BitProcess = Environment.Is64BitProcess;
bool is64BitOperatingSystem = Environment.Is64BitOperatingSystem;

if (is64BitProcess)
{
    Console.WriteLine("Running as a 64-bit process");
}
else
{
    Console.WriteLine("Running as a 32-bit process");
}

if (is64BitOperatingSystem)
{
    Console.WriteLine("Running on a 64-bit operating system");
}
else
{
    Console.WriteLine("Running on a 32-bit operating system");
}</code>
ログイン後にコピー

これらのプロパティにより、開発者はプラットフォーム アーキテクチャを正確に識別できるようになり、対象を絞った最適化や互換性チェックが容易になります。 アプリケーションが 64 ビット OS 上で実行される 32 ビット プロセスであっても、ネイティブ 64 ビット アプリケーションであっても、このアプローチによりプラットフォームを正確に識別できます。

以上が.NETで32ビットと64ビットのWindowsアーキテクチャを確実に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート