gfortran 从 4.0 版开始。4.1 和 4.2 版本较旧,缺少许多功能,并且可能存在错误。您可能会遇到代码使用的其他缺失功能。我建议,如果可能的话,将编译器升级到当前的稳定版本,即 4.5。
支持所有版本的 gfortran 会对您的代码造成很多限制。最好确定最早的可用版本并将该信息添加到文档中。对于我的代码,该版本是 4.3,因为我广泛使用了 ISO C 绑定。
gfortran wiki http://gcc.gnu.org/wiki/GFortran有一个按版本划分的变更日志,可以帮助您确定所需的版本。唯一确定的方法是测试。
如果要强制执行版本要求,可以在 Fortran 中进行测试。您可以运行一个小型测试程序作为 make 过程的一部分,如果 gfortran 版本太早,则中止。
以下代码片段显示了从 Fortran 程序输出 gfortran 版本号的两种方式。使用文件类型“.F90”命名程序,以便 gfortran 调用预处理器。
#ifdef __GFORTRAN__
write (*, '( "gfortran" )' )
write (*, '( I0, ".", I0 )' ) __GNUC__, __GNUC_MINOR__
! Merged version number:
#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
write (*, '( I0 )' ) GCC_VERSION
#endif