ODE StackOverflow - eiichiromomma/CVMLAB GitHub Wiki
ODE) Stack Overflow
(実行中にStack Overflowでプログラムが終了してしまう場合の対処
Stack Overflowの原因
衝突空間で巨大なマトリクスを生成するため、スタックが足りなくなるらしい。 特にこのエラーはVisual C++の環境で生じやすいらしい。(本家ML)
対策
[プロジェクト]-[xxxのプロパティ]を開き、[構成プロパティ]-[リンカ]-[システム]の以下の2項目を弄る。
- スタックのサイズの設定
- -0→10000000(とりあえず)
- スタックのコミット サイズ
- -0→10000000(とりあえず)
デフォルトで確保されるスタックのサイズは1MBで、ODEの場合あっという間に使い切ってしまう。 とりあえず10M確保してみる。 コミットサイズは起動時に予約する容量で、起動が遅くなるが、スタックの確保に時間がかからない。