请告诉我,我该怎么办?
#if __unix__
#define path_sep='/'
#elif __windows__
#define path_sep='\'
#else
#error "path_sep not defined."
#endif
使用gfortran编译器。
答案 0 :(得分:9)
这可以与条件编译结合使用,并在命令行中使用“D”选项。以下是一些示例代码:
program test_Dopt
character (len=1) :: pathsep
pathsep = "?"
#ifdef WOS
pathsep = "\"
#endif
#ifdef UOS
pathsep = "/"
#endif
write (*, '( "pathsep is >", A1, "<")' ) pathsep
end program test_Dopt
使用文件类型F90命名程序,以使gfortran运行预处理程序或在编译行上使用-cpp。然后通过在编译行上的D之后包含它们来将选项传递给预处理器,例如gfortran -DWOS。 (这比gfortran更通用 - 大多数Fortran编译器将处理C风格的预处理器指令。)然后,您可以识别Fortran之外的操作系统并将信息传递给Fortran程序。
您可以使用文件类型F90或-cpp编译代码。