Есть ли функция в Fortran, которая запрашивает тип оперативной системы? и дает этот тип как строку или что-то подобное? В принципе, я хотел бы использовать функцию SYSTEM и запускать мою программу как на Linux, так и на машинах Windows. Моя программа, использующая функцию SYSTEM, хорошо работает на linux, но теперь я хочу сделать ее общей и запустить ее также в окнах. Предположим, что эта функция, которую я ищу, называется INQUIRE_SYSTEM. Моя программа гласит:Функция Fortran, которая проверяет тип оперативной системы
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
большое спасибо за любую помощь. A.
Мне нужно знать, чтобы использовать правильную команду с внутренней функцией SYSTEM. См. Мой пример выше. Вот помощь для функции.http: //gcc.gnu.org/onlinedocs/gfortran/SYSTEM.html – Lupocci
Система не подходит для этого - вы не можете получить информацию. Использование условной компиляции, как М.С.Б. предлагает, является самым популярным способом делать то, о чем вы просите. –