我有一段fortran代码,我不确定它是什么标准 - '77,'90或'95。是否有标准工具来确定它所适用的标准?
答案 0 :(得分:25)
可能有自动化工具,但我的方法很大程度上是启发式的:
!
使用C
?do
.. end do
(F90 +)或do
.. continue
(F77)?&
继续行?module
或type
结构(F90)?allocatable
或pointer
方法)(F90)?通常这些足以区分F90和F77。 Fortran 90和FORTRAN 77之间的差异远远大于Fortran 90和Fortran 95之间的差异,因此我通常会停在那里。
答案 1 :(得分:3)
如果您有GNU Fortran(gfortran)的访问权限,可以尝试使用--std
的不同选项进行编译,并查看哪个有效。您可以找到有关方言选项here的详细信息。
答案 2 :(得分:3)
我在2003年和2008年的fortran中添加了一些功能(这些功能刚刚开始)
如果程序具有参数化派生的数据类型(fortran 2003)。 如果数组构造函数使用方括号[]而不是(/ /)(fortran 2003) 如果你看到,有提供使用coarrays(fortran 2008)
虽然许多编译器具有特殊功能(如贝塞尔函数)作为扩展的一部分,但它是2008年的一个真正的fortran功能。
(如果有任何差异让我知道我会编辑)