2011-07-29 35 views
1

ありがとうございました!forrt1:severe(170):プログラムの例外 - スタックオーバーフロー

プログラムの実行が始まった直後に、私は(私は書いていない)プログラムをコンパイルしているし、それは、Mac 'の上でうまく動作しますが、私はWindows上でプログラムを実行しようとすると、私は、次のエラーメッセージが表示されます。

forrt1:厳しい(170):プログラム例外 - スタックオーバーフロー

私がいないのifortまたはFortranのユーザーが、仕事のためのプログラムをコンパイルしようとしています。

私は" ifort --version "を実行し、バージョン12.0.0.104のIntel Visual FortranコンパイラXEを使用しています。私は数日間この問題を解決するために取り組んできましたが、私はMakefileの中のいくつかのフラグを使いこなそうとしましたが、運はありませんでした。

さらに詳しい情報を提供できるのであれば、私は'がベストを尽くします。再度、感謝します!より多くの情報をプリントアウトを取得するためにコンパイル時に、次のフラグを追加

+0

デバッガを使用します。 –

+0

私はあなたの質問に答えることはできませんコードを参照してください。私はWindowsコンパイラのデフォルトのスタックサイズは、他のプラットフォームよりも少ないと思います。おそらく非常に大きなスタック変数を持つでしょう。非常に大きなスタック変数を持ちます。 –

答えて

1

試してみてください。

/traceback /check:all

checkは、ランタイムエラーチェックを行います、重大なエラーが実行時に発生したときにtracebackは、余分な情報を生成するようにコンパイラーに指示します。

1

プログラムをコンパイルするときには、/ heap-arraysオプションを使用して、スタックの代わりにヒープに配列を配置します。それ以外の場合は、スタックを実行可能ファイルより大きいものにしてください。

+0

さらに、/ heap-arrays:0を使用して、すべてのヒープがヒープ上にあることを確認します。 – bdforbes

関連する問題