检查操作系统类型的Fortran函数
Fortran中是否有查询操作系统类型的函数?并以字符串或类似形式给出此类型?基本上,我想使用函数系统并在linux和windows机器上运行我的程序。我使用函数系统的程序在linux上运行得很好,但现在我想在windows上运行它。假设我正在寻找的这个函数叫做INQUIRE_系统。我的程序是:检查操作系统类型的Fortran函数,fortran,fortran2003,Fortran,Fortran2003,Fortran中是否有查询操作系统类型的函数?并以字符串或类似形式给出此类型?基本上,我想使用函数系统并在linux和windows机器上运行我的程序。我使用函数系统的程序在linux上运行得很好,但现在我想在windows上运行它。假设我正在寻找的这个函数叫做INQUIRE_系统。我的程序是: USE IFPORT stringSYSTEM = INQUIRE_SYSTEM() if (TRIM(ADJUSTL(stringSYSTEM).eq.linux)) TH
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.所建议的,使用条件编译是实现您所要求的最流行的方式。