Sun Studio 12:Fortran 编程指南

11.7 在 Fortran 与 C 之间共享 I/O

不推荐混合使用 Fortran I/O 和 C I/O(同时从 C 和 Fortran 例程发出 I/O 调用)。最好是全部执行 Fortran I/O 或全部执行 C I/O,而不是两者同时使用。

Fortran I/O 库大部分是在 C 标准 I/O 库之上实现的。Fortran 程序中的每一个打开单元都有相关联的标准 I/O 文件结构。对于 stdinstdoutstderr 流,不需要显式引用该文件结构,所以可以共享它们。

如果 Fortran 主程序调用 C 来执行 I/O,Fortran I/O 库必须在程序启动时进行初始化,以便将单元 0、5 和 6 分别连接到 stderrstdinstdout。要对打开的文件描述符执行 I/O,C 函数必须考虑 Fortran I/O 环境。

请记住:即使主程序在 C 中,也应该用 f95 链接。