うーん、スタックオーバーフローではまり中。
同じコードを違うプログラムの中から呼び出して使うと、スタックオーバーフローが起きないのだが、
今作っているプログラムから呼び出すとスタックオーバーフローが起こる。
なぜ?
調べたら早速解決してしまった。
どうやら、スタックアロケーションのサイズが足りなかっただけのようです。
今までそれほど大きなソフト作ったことがなかったから気にしていなかったのが原因。
VC6++のデフォルトスタックアロケーションサイズは1MB。
リンカのオプションで変更可能。
/STACK:reserve[,commit]
(スタック アロケーション) オプションは、スタックのサイズをバイト単位で設定します。
