6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

C++アプリケーションのメモリ上限について

Posted at

32bit版アプリケーションと64bit版アプリケーションのメモリ上限について

32bit版アプリケーションを改版する機会があったので、64bitへの移行を検討してみました。

32bit版アプリケーションで通常利用できるメモリの上限

通常、32bitアプリケーションで利用可能なメモリ容量は2GBです。
また、動的にメモリ確保できる領域は、プログラム本体やDLLが占有するメモリエリアを除いた容量になります。

32bit版アプリケーションで利用できるメモリの上限を増やす方法

32bit版アプリケーションでも「LAAオプション」を利用することで、メモリ上限を4GB弱まで増やす事が可能です。

・設定方法

 対象のプロジェクトのプロパティで
 構成プロパティリンカーシステム大きいサイズのアドレス
 のオプションを**『はい(/LARGEADDRESSAWARE)』**に設定するだけで利用可能です。

64bit版アプリケーションで通常利用できるメモリの上限

8TBものメモリを扱う事が可能です。

まとめ

x86Windowsとx64Windowsのメモリ上限比較表

x86Windows x64Windows
32bit版アプリケーション デフォルト:2GB
LAA有効かつ3GBスイッチ有効:3GB
デフォルト:2GB
LAA有効:4GB
64bit版アプリケーション 使用不可 デフォルト(LAA有効):8TB
LAA無効:2GB

この結果から、32bitアプリケーションを64bitへ移行する事を決意しました。

6
3
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?