函数一词在 C 和 Fortran 中有不同的含义。根据具体情况做出选择很重要:
当 Fortran 例程调用 C 函数时:
如果被调用的 C 函数返回一个值,则将其作为函数从 Fortran 中调用。
如果被调用的 C 函数不返回值,则将其作为子例程调用。
当 C 函数调用 Fortran 子程序时:
如果被调用的 Fortran 子程序是一个函数,则将其作为一个返回兼容数据类型的函数从 C 中调用。
如果被调用的 Fortran 子程序是一个子例程,则将其作为一个返回 int(与 Fortran INTEGER*4 兼容)或 void 值的函数从 C 中调用。如果 Fortran 子例程使用交替返回,则会返回一个值,这种情况下它是 RETURN 语句中的表达式的值。如果 RETURN 语句中没有出现表达式,但在 SUBROUTINE 语句中声明了交替返回,则会返回零。