检查操作系统类型的Fortran函数

检查操作系统类型的Fortran函数,fortran,fortran2003,Fortran,Fortran2003,Fortran中是否有查询操作系统类型的函数?并以字符串或类似形式给出此类型?基本上,我想使用函数系统并在linux和windows机器上运行我的程序。我使用函数系统的程序在linux上运行得很好,但现在我想在windows上运行它。假设我正在寻找的这个函数叫做INQUIRE_系统。我的程序是: USE IFPORT stringSYSTEM = INQUIRE_SYSTEM() if (TRIM(ADJUSTL(stringSYSTEM).eq.linux)) TH

Fortran中是否有查询操作系统类型的函数?并以字符串或类似形式给出此类型?基本上,我想使用函数系统并在linux和windows机器上运行我的程序。我使用函数系统的程序在linux上运行得很好,但现在我想在windows上运行它。假设我正在寻找的这个函数叫做INQUIRE_系统。我的程序是:

    USE IFPORT

    stringSYSTEM = INQUIRE_SYSTEM()

    if (TRIM(ADJUSTL(stringSYSTEM).eq.linux)) THEN ! linux systems
      I = SYSTEM("mv final.out restart.dat")
      If (I == -1) then
         errnum = ierrno( )
         print *, 'Error ', errnum
      end if
    else  !dos systems
      I = SYSTEM("rename final.out restart.dat")
      If (I == -1) then
      errnum = ierrno( )
      print *, 'Error ', errnum
    end if
非常感谢你的帮助。
一种方法是检查预处理器宏。根据您支持的操作系统建立一个列表。看

当文件类型为大写:F90时,许多Fortran编译器将运行预处理器。或者有一个编译器选项。代码示例:

#ifdef __GFORTRAN__ 
    write (*, '( "gfortran" )' )
#endif

为什么您需要了解Fortran程序的操作系统?

一种方法是检查预处理器宏。根据您支持的操作系统建立一个列表。看

当文件类型为大写:F90时,许多Fortran编译器将运行预处理器。或者有一个编译器选项。代码示例:

#ifdef __GFORTRAN__ 
    write (*, '( "gfortran" )' )
#endif

为什么您需要知道Fortran程序的操作系统?

我需要知道,以便在系统固有功能中使用正确的命令。见我上面的例子。这是函数的帮助。系统不是正确的选择-您无法检索信息。正如M.S.B.所建议的,使用条件编译是实现您所要求的最常用的方法。我需要知道,为了使用正确的命令和系统内在函数。见我上面的例子。这是函数的帮助。系统不是正确的选择-您无法检索信息。正如M.S.B.所建议的,使用条件编译是实现您所要求的最流行的方式。