
No.5
- 回答日時:
アプリがWindow上でということなら1プロセスに使えるメモリー空間は2GBだったと思います
ヒープやスタックの予約サイズ、コードなどを合計し2GBを超えると起動が出来なくなるのでそのあたりの余裕を少し見たほうがいいように思います
16MBが最大なら10-12MBぐらいにしたほうが
今後、コードの多少の手直しでもスタックサイズをいじらなくてもいいように
No.3
- 回答日時:
念のため確認させてください。
スタックサイズを16Mバイトにすれば、期待通りに動くのでしょうか?
何かのバグで、再帰呼び出しが止まらない可能性もありますので。
No.2
- 回答日時:
再帰関数に与える引き数が「構造体やオブジェクトの実体渡し」になっていませんか?
また、引き数の数が3個以上になっていませんか?
また、再帰関数の関数内で定義されている変数が多かったり、配列変数を定義していたりはしませんか?
再帰関数の引き数は「int が1つか2つ」にしましょう。
再帰関数の関数内でauto変数を定義する場合は、int変数など、単純変数のみにしましょう。
再帰関数の関数内で「char buf[256];」などのように、文字列操作用のchar配列変数をauto変数で定義してはいけません。
この辺りを改善すれば、スタックは1Mもあれば「余りまくり」です。
この回答への補足
コーディング上の問題は重々承知しおりますが
何せ古いコーディングで大きな改修は難しいのが現状です。
単純にスタックサイズを大きくすることで
”当面”は解決するため、最大スタックサイズ変更の影響を知りたいと思っている次第です。
No.1
- 回答日時:
1MBで足りなくなる再帰ならロジックを考え直したほうがいいように思います
本当に想定どおりで1MB以上のスタックが必要になるのでしょうか?
ロジック的なバグでいらぬ再帰が掛かっているのではありませんか
この回答への補足
コーディング上の問題は重々承知しおりますが
何せ古いコーディングで大きな改修は難しいのが現状です。
単純にスタックサイズを大きくすることで
”当面”は解決するため、最大スタックサイズ変更の影響を知りたいと思っている次第です。
処理レコード件数が増えると再帰回数が増える作りですので
今後のレコード件数増加を想定してスタックサイズを決定できればと思っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.netでDLLを読み込んで実行す...
-
最大スタックサイズを大きくす...
-
スタック領域変更
-
キューとスタックの問題です、...
-
gccでスタックサイズを変更する...
-
printf / sprintf のスタック消...
-
ubuntuで デイスク/deb/loopと...
-
プログラムの規模を表す単位「k...
-
パソコンでインターネット接続...
-
hdmiはパラレル?シリアル?
-
ステップ数について
-
同じサブネットに属するIPアドレス
-
TLBミスの扱いについて
-
JDBCでのトランザクション・排...
-
STEPについて
-
ステップ数??
-
トランザクションとは何のこと...
-
磁気ディスクの計算問題です
-
スイッチHUBにて構成したネット...
-
[ASP]If~Else If~End If 対 Case
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.netでDLLを読み込んで実行す...
-
最大スタックサイズを大きくす...
-
printf / sprintf のスタック消...
-
スタックとキューの使い所
-
スタックフレームの消滅
-
gccでスタックサイズを変更する...
-
H8マイコン スタック領域に...
-
関数呼び出しについて質問です
-
エラー?メッセージ
-
_CRTIMPの意味は?
-
Ethernetヘッダの取得 NDIS
-
関数呼び出しでのスタック消費量
-
スタックを用いて整数配列を入...
-
スタックの伸張方向
-
リストを使った逆ポーランド記...
-
CASLIIについて
-
VC6でコンパイルでスタックの領...
-
関数のプロローグとエピローグ...
-
スタック領域変更
-
スタックの仕組み
おすすめ情報