如何使用 C 中的单元号参数调用 Fortran 例程

How to call Fortran routine with unit number argument from C

如果我有一个 Fortran 子例程,它将 Fortran IO 单元作为其参数之一(用于打印调试信息),并且此函数被编译到共享库中,我如何从 C 中正确调用此函数?

! An example subroutine that I want to call from C:
subroutine hi(unit)
    integer :: unit
    write(unit,*) "hello"
end subroutine

! example call site in Fortran
program main
    call hi(6)
end

我对这些单元号与文件描述符的关系很感兴趣。

这完全依赖于编译器,没有可移植的对应关系。如果编译器支持某种互操作性作为扩展,请参阅编译器手册。