- ベストアンサー
続 仮想メモリの制御
昨日 http://oshiete1.goo.ne.jp/qa3665270.html で質問させていただいた者です。 沢山の方に多様なアドバイス頂き感謝しております。 さて当方のメモリ使用量に関しまして、調査したところ、 初めの行列の宣言がメモリを食いまくっていることが発覚しました。 そこでグローバルで ------------------- #define FRAMES 1000 #define WX 640 #define WY 480 int arraya[FRAMES][WX*WY]; --------------- の配列を宣言すると 普通に計算すると1000×640×480×4=約1.2GB になるため、さすがに大きすぎると思い、 ------------------- #define FRAMES 300 #define WX 320 #define WY 240 int arraya[FRAMES][WX*WY]; --------------- 約92.16MBにしても両方とも物理メモリ制限一杯の 1.3GBを消費してしまいます。 これはプログラム自体を実行する以前になってしまうため、 宣言自体に問題があるのかと思うのですが、 何か定義したり、設定したりしなければいけないのか、 もしくは、宣言する場所が不適切なのでしょうか? 開発ツールはVC++です。
お礼
ありがとうございます。 勉強不足であり、より調査が必要みたいです。 メモリの管理はタスクマネージャーで見ていました。 プログラムを起動するとすぐに制限メモリ一杯になるので、 どこかおかしいと判断しておりました。 ワーキングセット、是非参考にさせていただきます。