
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ランキング
-
Vba Replace関数について教えて...
-
CSSが全く分かりません、お助け...
-
プログラミング 素数か素数では...
-
c言語の問題の説明、各所ごとに
-
DLLファイルの逆コンパイラにつ...
-
逆コンパイルと逆アセンブルの...
-
C言語について。
-
C#でログファイルにファイルパ...
-
終端記号、非終端記号とは
-
VisualStudioでC++クラスを追加...
-
int16_t の _t は何?
-
Cのオブジェクトファイルの逆ア...
-
C言語の関数のextern宣言
-
DNCL(共テ用プログラミング言語...
-
C#でTreeViewのCheckBoxのサイ...
-
CPUが16bitでも32bitOSでコンパ...
-
C言語 列挙型(enum型)変数について
-
コマンドプロンプトについて。
-
visual studioでフォームデザイ...
-
Windows Formアプリからコンソ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.netでDLLを読み込んで実行す...
-
printf / sprintf のスタック消...
-
最大スタックサイズを大きくす...
-
ゆゆにゃ。
-
Ethernetヘッダの取得 NDIS
-
gccでスタックサイズを変更する...
-
Visual C++ 2008 オーバーフロ...
-
H8マイコン スタック領域に...
-
ポーランド記法(前置記法)のア...
-
Cプログラミングの関数電卓のア...
-
WINAPについて
-
pthreadのスタックサイズ設定取...
-
_CRTIMPの意味は?
-
逆ポーランド記法
-
エラー?メッセージ
-
再帰処理を非再帰処理に書き換...
-
スタック領域変更
-
スタックのpush/pop動作について
-
VC++でプログラムから現在のス...
-
CASLIIについて
おすすめ情報