Портирование Sun Studio совместимого Fortran 77 в GCC: спецификатор формата в READ, FORMAT - PullRequest
0 голосов
/ 24 февраля 2010

У меня есть какой-то старый fortran 77, я пытаюсь портировать на gcc в Windows.

Я использую gfortran 4.4.

В операторе используются READ (FOO, '(F)', ERR = BAR) BAZ, а gcc жалуется на F. Из того, что я видел, похоже, что F нужен связанный с ним размер. Существуют также операторы FORMAT, в которых используется аналогичная конструкция.

Как правильно перенести это? Кажется, что использование одного F на студийных компиляторах Sun просто соответствует нужному размеру. Но Гфортран жалуется на то, что он не является неотрицательной или положительной шириной.

Есть идеи, как это портировать?

1 Ответ

1 голос
/ 24 февраля 2010

Это форматированное чтение.Это должны быть значения READ (FOO, '(FN.M), ERR = BAR) BAZ, N и M, где N - ширина поля в символах, а M - количество цифр после десятичной точки.На входе M не имеет значения, имеют ли данные десятичную точку, потому что десятичная точка переопределяет спецификацию формата.Если вы не уверены, что входные данные всегда будут соответствовать этой строгой спецификации, возможно, лучше переключиться на ввод без форматирования: READ (FOO, *, ERR = BAR) BAZ.Это также называется управляемым списком вводом / выводом.Это очень гибкий и догадывающийся вопрос, вероятно, лучше совпадающий с тем, что делал расширение «F».(без форматирования / с указанием списка отличается от неформатированного, который предназначен для двоичных файлов без преобразования битов.)

...