Это можно сделать в сочетании с условной компиляцией и с помощью опции «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.