2

アドレス空間の半分が OS 用に予約されているため (/3GB スイッチを使用すると 3GB になる可能性があります)、32 ビット プロセスは最大で 2GB の RAM を使用できると考えました。ただし、StarCraft II は 4GB 近くを使用することができ、32 ビット EXE です。プロセス エクスプローラーには次のものが表示されます。

4,000,896 KB private bytes
3,928,164 KB working set

それはどのように行われ、自分のプログラムでどのように行うことができますか? .NETで可能ですか? アンマネージ C++ では? マネージドC++でどうにか?

4

1 に答える 1

2

64 ビット OS では、32 ビット プロセスはほぼ 4 GB を使用できます。

「ラージ アドレス空間対応」とマークされたプロセスは、32 ビット OS で最大 3GB、64 ビット OS で最大アドレス空間を使用できます。

これに関する詳細な議論は次のとおりです。32ビットプロセスは64ビットWindows OSでより多くのメモリにアクセスできますか? .

于 2012-06-30T04:51:24.873 に答える