アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在FORTRANを使用しているのですが,そのプログラムを回す際「total image size 861618176 exceeds max (268435456); image may not run」と警告が出ます。このまま,回すと『RUN-TIME ERROR』となってプログラムが止まってしまいます,これを解決するにはどうすればいいのでしょうか?
回答よろしくお願いします。 

A 回答 (3件)

実行ファイルサイズが許容上限サイズを超えたためだと思います。


開発環境に、上限サイズのある試用版等を使っているのでは?
対策は、以下の2通りくらいしか思いつきません。
1.正規版を導入する
2.実行サイズを上限サイズ内にする

エラーメッセージの数値を見る限り、2はとてつもなく不可能に近い感じがしますね。

この回答への補足

正規版のはずなのですが…
試用版なのかもしれません正規版の場合,上限が設定されていることは
ないはずですもんね?
いろいろ試してみたいと思います

補足日時:2010/02/02 00:20
    • good
    • 0

とりあえず思いつくこと



・メモリモデルに余裕があれば、より大きなメモリモデルで最適化する。

・大きな配列をデータ文で初期している場合、データ文を止めて、実行の最初にループで初期化するようにしてください。静的な初期化をしている場合、配列そのままのサイズ実行ファイル上に取られますが、静的初期化をしていなければ、その領域は実行時に確保されます。ただ、これは、効果的かはコンパイラによります。。

・サブルーチンに分割し、DLL化が可能なコンパイラ、リンカであれば、DLLとしてサブルーチンを作成し、実行時にオーバーレイできるようにする。

この回答への補足

使用しているコンパイラは『Fortran Power station』です。
このコンパイラの場合2番目の方法は可能ですか?

補足日時:2010/02/02 00:12
    • good
    • 0

自分がIntelFortranを使っていたときのことですが、


何かのCPUに特化した最適化をフルにかけたときに、モジュールサイズが異常に大きくなったことがありました。

最適化オプションをいろいろいじってみれば、サイズが小さくなるのかなーなんて思いました。
的外れな意見かもしれませんが、、、。
    • good
    • 0
この回答へのお礼

回答ありがとうございます 
サイズを小さくする努力をしてみます

お礼日時:2010/02/02 00:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!