プロが教える店舗&オフィスのセキュリティ対策術

Fortranで作成したプログラム(exeファイル)をC言語プログラム(exeファイル)から
起動しようと考えています。

Fortran側のプログラム終了コードを取得したのですが、
そもそもFortranで作成したプログラムは起動元プログラムに戻り値を返せるのですか?
(C言語のmain関数の戻り値のように)

できない場合の解決策として、ファイルに終了コードを書いて両プログラム
で共有しようと考えています。この方法は妥当でしょうか?

当方、Fortranは素人です。詳しい方がいましたら教えて下さい。

A 回答 (3件)

先ほどのコード例に誤りがありました。

(call が書かれていなかった)
正しくは以下のとおりです。

program main
print *, "Exit Test Program"
call exit(1) ! 1が戻り値となります
end

ご参考になればと思います。
    • good
    • 0
この回答へのお礼

ご回有難うございました。

お礼日時:2012/01/30 17:30

Fortran標準では特に決まったやり方はありません。


(既に回答されている方がおっしゃられているとおり
Fortran 2008で推奨される方法にSTOP文を使う方法があります...)

おそらく現在最もポピュラーな方法は下記のようにexitサブルーチンを呼び出す方法かと思います。
例)

program main
print *, "Exit Test Program"
exit(1) ! 1が戻り値となります
end

ご参考になればと思います。
    • good
    • 0

手元の Fortran2008 ドラフトを見ると....



STOP 文に値を与えることはできますが, それがどのように使われるかはあなたの用いる処理系に依存します. つまり, STOP 文に与えた値が起動元プログラムに対する戻り値になるかもしれませんし, ならないかもしれません.
    • good
    • 0
この回答へのお礼

ご回答有難うございました。

お礼日時:2012/01/30 17:30

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