
プログラム中に、4バイトのデータを(2^24)×3個の配列に確保し計算するところがあるのですが、
この場合の配列のみのデータを
メモリに確保するためのメモリの必要容量は
4×(2^24)×3=201326592バイト=201.32・・メガバイトになりますよね。
メモリはOSなどアプリケーションを立ち上げる時にも使いますが、それらの分を差し引いても、202MBぐらい空いてるとすれば上記のことをできるのでしょうか?
プログラムを実行すると
例外 unknown software exception (0xc0000fd)がアプリケーションの0x00401707で発生しましたと
なって終了してしまいます・・
それとももともと確保できる容量はソフト的に決まってるのでしょうか。
ちなみに使用環境のPCのメモリは512MBのを一個刺してあります。コンパイラはVCです。
No.2ベストアンサー
- 回答日時:
stackのオーバーフローによるエラーなのかもしれません。
通常スタックにはそれほど大きなメモリは確保されません。オプションでスタックサイズを変更することは可能だと思いますが、
それより確保する位置を変えて関数の外にするか
static宣言して確保するか
あるいはmallocでヒープから確保する
ようにした方がいいでしょう。
みなさんのおっしゃる通りデバックモードで起動すると、stack overflowとなりました
mallocの存在は知っていますが、使ったことないのでstatic宣言でうまくいきました。
ありがとうございます。
No.1
- 回答日時:
Stack Overflow で出たりするエラーのようですね。
OSにもよるでしょうが、PCで動くOSであれば
メモリは使用量が物理メモリの搭載量を超えても
HDDにスワップするので問題ないとは思いますが、
それでもStack Overflowは出るかもしれません。
どのようにそのメモリを確保しているかも問題ですが、
それ以前に、そんなにメモリを食う処理自体が問題ですね。
本当に同時にそれだけのメモリを確保する必要があるのか
(データをファイルに外出しできないか?など)
というところを検討した方がいいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AIXでのプロセス使用メモリの最...
-
エクセルVBA 大容量CSVファイル...
-
メモリが不足しています(VBA)
-
「ヒープサイズの設定」て何?
-
メモリを解放しないとどうなる?
-
VBAの配列サイズとメモリに関して
-
C言語で、メモリを解放しないで...
-
VB.netでUSBメモリの固有I...
-
C言語で再帰的処理が出来ない理由
-
シェル(perl)が使用するメモリ...
-
メモリのセグメント違反の解決...
-
ちなみに、for (i = 0; str[i] ...
-
「memcpy」と「strcpy」について
-
移動可能メモリ
-
メモリ不足
-
Connection、ResultSet、、Stat...
-
ファイルマッピング関数で失敗
-
Macターミナルで実行中のプログ...
-
TCP/IP通信時のサーバーからの受信
-
Excel(VBA)でSetTimer関数を使...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メモリが不足しています(VBA)
-
VBAの配列サイズとメモリに関して
-
C言語で、メモリを解放しないで...
-
エクセルVBA 大容量CSVファイル...
-
メモリのセグメント違反の解決...
-
エクセルのメモリ使用状況/Appl...
-
「ヒープサイズの設定」て何?
-
【C言語】再帰が時間がかかる...
-
バッチファイルでの実行EXEのメ...
-
ReadEventLogについて
-
メモリを解放しないとどうなる?
-
LoadLibraryしたらFreeLibrary
-
C言語における再帰呼び出しの...
-
EXCEL-VBAにてADOのレコードセ...
-
メモリ不足
-
クリスタルレポートでメモリ不...
-
Bitmapを重ね合わせる方法
-
これて逆じゃないですか?
-
ルネサスマイコン(R8C) ビルド...
-
closeとメモリの開放について
おすすめ情報