你能告诉我,我请了如何可以做到以下几点:Gfortran预处理器指令
#if __unix__
#define path_sep='/'
#elif __windows__
#define path_sep='\'
#else
#error "path_sep not defined."
#endif
使用gfortran编译器。
你能告诉我,我请了如何可以做到以下几点:Gfortran预处理器指令
#if __unix__
#define path_sep='/'
#elif __windows__
#define path_sep='\'
#else
#error "path_sep not defined."
#endif
使用gfortran编译器。
这可以结合条件编译并在命令行中使用“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程序。
您可以通过使用filetype F90或-cpp编译您的代码。
'__unix__'和'_WIN32'是通常预定义的预处理器标志,用于指示您在大多数编译器中使用的系统。 – Chris 2012-01-08 17:15:59
gfortran的手册包含有关如何使用预处理器的说明。他们有什么不清楚的吗? – eriktous 2011-12-26 17:27:30