Код f77 в gfortran - вызов библиотеки
Я унаследовал старую программу f77/g77 от предыдущего исследователя, но у меня очень мало опыта на Фортране. Я работал с большинством синтаксических преобразований в файле, но столкнулся с проблемой, когда старый файл вызывает (устаревшую?) Библиотеку, известную как libstr. Я не могу найти ссылку на это в любой текущей документации gfortran (хотя я не уверен, что я ищу в правильных местах, также). То, что я хотел бы знать, есть ли способ избежать вызова Union
а также flostr
функции, и вместо этого просто выведите значения непосредственно в файл.
Соответствующая часть кода здесь:
if (mod(ntime,nout) .eq. 0) then
ndec = 1
call flostr(t,str1,ndec)
call Union('signal_t=',str1,str2)
call Union('lineshapeSPConD_t=',str1,str3)
open(7,file = str3,STATUS ='unknown')
Я полагаю, что либо выяснение того, как установить библиотеку (я попытался запустить make-файл, а gfortran просматривает /usr/bin в пути поиска), либо возможность замены функций решит проблему. Я использую gfortran 4.8, установленный из Homebrew на OS X 10.8.3.
Спасибо!
ОБНОВИТЬ:
Мне удалось скомпилировать код, включив библиотеку в компилятор gfortran, но теперь запуск программы вывода приводит к ряду ошибок…
Ошибки вывода:
Program received signal SIGFPE: Floating-point exception - erroneous
arithmetic operation.
Backtrace for this error:
#0 0x1470e91c2
#1 0x1470e998e
#2 0x7fff92330949
#3 0x10421642e
#4 0x104217472
[1] 18171 floating point exception ./Lineshape_thick_SP_New.x
Вернуться к доске для рисования.