我有一段 fortran 代码,但我不确定它是哪个标准 - '77、'90 或 '95。是否有一个标准工具来识别它所遵循的标准?
			
			7632 次
		
3 回答
            27        
        
		
可能有自动化工具,但我的方法主要是启发式的:
- 注释
!是在行中的任意位置(F90+)还是C在第一列(F77)中使用a? - 循环使用
do..end do(F90+) 还是do..continue(F77)? &行是在行尾 (F90+) 还是在第 6 列 (f77)继续使用?- 代码是否使用
module或type结构(F90)? - 如果代码使用数组,它是作为单个结构(F90)还是始终使用循环(F77)对它们进行操作?
 - 是否使用了动态内存(使用
allocatable或pointer方法)(F90)? 
通常这些足以区分 F90 和 F77。Fortran 90 和 FORTRAN 77 之间的差异比 Fortran 90 和 Fortran 95 之间的差异要大得多,所以我通常停在那里。
于 2008-12-24T18:07:40.980   回答
    
    
            3        
        
		
如果您可以访问GNU Fortran (gfortran),您可以尝试使用不同的选项对其进行编译,--std然后查看哪个有效。您可以在此处找到有关方言选项的详细信息。
于 2008-12-24T17:52:00.873   回答
    
    
            3        
        
		
我正在 fortran 2003 和 2008 中添加功能(这只是我的想法)
如果程序具有参数化派生数据类型(fortran 2003。)如果数组构造函数使用方括号 [] 而不是 (/ /) (fortran 2003.) 如果您看到,则提供使用 coarrays (fortran 2008)
尽管许多编译器具有特殊功能(如 Bessel 函数)作为扩展的一部分,但它是 fortran 2008 的真正功能。
(如果有任何差异让我知道我会编辑)
于 2011-10-04T00:57:24.460   回答