Sun Studio 12: Fortran プログラミングガイド

11.7 Fortran と C との入出力の共有

Fortran の入出力とC の入出力を混合すること (C ルーチンと Fortran ルーチンの両方から入出力呼び出しを発行すること) は推奨できません。すべて Fortran の入出力で行うか、すべて C の入出力で行うかのどちらかに統一するのが安全です。

Fortran の入出力ライブラリは、大部分が C の標準入出力ライブラリに追加する形で実装されています。Fortran プログラムで開いた装置はすべて、標準入出力のファイル構造と対応付けられています。stdinstdoutstderr のストリームに関しては、ファイル構造を明示的に参照する必要がなく、共有できます。

Fortran の主プログラムが入出力を行うために C を呼び出す場合は、プログラム起動時に Fortran の入出力ライブラリを初期化して、装置 0、5、6 をそれぞれ stderrstdinstdout に接続します。ファイル記述子を開いて入出力を実行する場合、C の関数は Fortran の入出力環境を考慮する必要があります。

たとえ主プログラムが C で書かれていても、f95 でリンクするようにしてください。