- 締切済み
Fortranプログラムの戻り値を得る方法
Fortranで作成したプログラム(exeファイル)をC言語プログラム(exeファイル)から 起動しようと考えています。 Fortran側のプログラム終了コードを取得したのですが、 そもそもFortranで作成したプログラムは起動元プログラムに戻り値を返せるのですか? (C言語のmain関数の戻り値のように) できない場合の解決策として、ファイルに終了コードを書いて両プログラム で共有しようと考えています。この方法は妥当でしょうか? 当方、Fortranは素人です。詳しい方がいましたら教えて下さい。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- karupyon
- ベストアンサー率80% (4/5)
先ほどのコード例に誤りがありました。(call が書かれていなかった) 正しくは以下のとおりです。 program main print *, "Exit Test Program" call exit(1) ! 1が戻り値となります end ご参考になればと思います。
- karupyon
- ベストアンサー率80% (4/5)
Fortran標準では特に決まったやり方はありません。 (既に回答されている方がおっしゃられているとおり Fortran 2008で推奨される方法にSTOP文を使う方法があります...) おそらく現在最もポピュラーな方法は下記のようにexitサブルーチンを呼び出す方法かと思います。 例) program main print *, "Exit Test Program" exit(1) ! 1が戻り値となります end ご参考になればと思います。
- Tacosan
- ベストアンサー率23% (3656/15482)
手元の Fortran2008 ドラフトを見ると.... STOP 文に値を与えることはできますが, それがどのように使われるかはあなたの用いる処理系に依存します. つまり, STOP 文に与えた値が起動元プログラムに対する戻り値になるかもしれませんし, ならないかもしれません.
お礼
ご回答有難うございました。
お礼
ご回有難うございました。