教えてください。
現在陥っている現象:「メモリ不足になってしまう」配列の領域をRedimで動的に確保しようとしています。
例えば、
dim A() as byte
dim B() as byte
dim C() as byte
redim A(8000,60000)
redim B(8000,60000)
redim C(8000,60000)
上記のように配列を確保する予定なのですが、
メモリ不足になってしまいます。
ひとつの変数の容量が480MB程度であると思います。
3つ全部でも1440MBであるのですが、物理的な
メモリ容量は、512M*4を実装しています。
上記の変数名で言いますと、
Aの変数の領域確保には問題なく成功するのですが、
その次の行のBのところでエラーになります。
現在、物理的なメモリには空きがあるにもかかわらず
このような現象になってしまい、困っています。
どなたか原因解決の糸口になるような回答をお持ちの方、
教えてください。
No.1ベストアンサー
- 回答日時:
>メモリ容量は、512M*4を実装しています。
>物理的なメモリには空きがあるにもかかわらず
配列だけ考えれば確かにそうですが、その他にも物理メモリを使用しているモノがたくさんあるので、足りなくなることがあります。
ハードディスクの空きはありますか?
十分あるのに不足になる原因として考えられるのは、動的に大きな連続した領域を確保しようとしているからだと思います。
動的に確保しなければならないのには理由があるのですか?
静的な確保に変更可能ならば、多少多めに確保しても仮想メモリに割り当てるので確保できるはずです。
また、一度に多くの配列を割り当てるのではなく、細かく分割した方が、メモリ待避・解放のレスポンスも向上しますし、メモリ不足を回避するのにも役立ちます。
最後に単なる思いつきですが、3つのredimの間に適当な処理をはさむとうまくいくかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby 【メモリ不足で落ちる(python)】 1 2022/05/26 21:22
- C言語・C++・C# C言語の質問です。 以下の命令を実行するプログラムを作りました ①文字列aとbの長さを表示 ②aとb 1 2022/04/29 15:35
- デスクトップパソコン ん~…分からん 7 2022/06/10 10:47
- Visual Basic(VBA) ExcelVBAで質問です。離れた二次元配列を一つにしたい 4 2022/07/26 19:06
- CPU・メモリ・マザーボード Windows11アップデート後の不具合(メモリ不足)について 9 2023/01/04 11:34
- iPhone(アイフォーン) iCloudのデータをiPhoneメモリに移動したい 1 2022/10/24 22:11
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- CPU・メモリ・マザーボード 【PCメモリ増設】メーカーによって相性は違うのでしょうか? 9 2023/08/25 21:37
- その他(パソコン・周辺機器) タブレットで使用するUSBメモリについて 7 2022/05/26 14:27
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c言語のポインタへの文字列入力...
-
newしないオブジェクトについて
-
mallocについて
-
allocってなんですか?
-
free関数で動作が止まる
-
Accessで、メモリを開放するタ...
-
C++のnewで確保したメモリーの...
-
ビットをローテートするプログ...
-
グローバル変数のサイズ
-
LoadLibraryでAccess Violation...
-
mallocで確保するメモリの領域...
-
DLLのマルチスレッドの動作につ...
-
fread関数および動的なメモリ確...
-
ポインタのポインタの初期化法
-
行列内の行の交換,列の交換を...
-
ヒープメモリの解放について
-
mallocとfree
-
メモリを確保する方法(アセン...
-
C言語に関する質問
-
new、memset()、エラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
mallocについて
-
c言語のポインタへの文字列入力...
-
allocってなんですか?
-
newしないオブジェクトについて
-
ヒープメモリの解放について
-
C++で、メンバもヒープに確保さ...
-
MSDNがgethostbynameではなくge...
-
プログラムが途中で強制終了し...
-
配列の添え字の最大数とは?
-
Accessで、メモリを開放するタ...
-
ヒープ領域の限界値設定
-
malloc呼び出し時のセグメンテ...
-
スタック破壊の上手な見つけ方...
-
C言語 mallocとfreeについて
-
指定したメモリアドレスの値の...
-
stringの最大サイズ
-
16進ダンプのプログラム
-
64ビットと32ビットの違い
-
入れ子になった構造体について
-
free関数で動作が止まる
おすすめ情報