Ошибка: неожиданный элемент '*' в строке формата в (1) - PullRequest
2 голосов
/ 05 февраля 2020

Я использую 'mpifort' для компиляции. Вот часть кода, которая вызывает ошибку.

2004    format(a30,*(f10.6))

При компиляции я получаю следующую ошибку для этого сегмента кода.

DI.f90:320.20:

2004    format(a30,*(f10.6))
                    1
Error: Unexpected element '*' in format string at (1)

В чем может быть ошибка? При компиляции с помощью Intel 'mpiifort' нет никаких проблем.

1 Ответ

4 голосов
/ 05 февраля 2020

В формате *(..) представляет элемент неограниченного формата. Эта функция была представлена ​​в Fortran 2008 и не поддерживается всеми (версиями всех) компиляторов. Когда вы используете mpifort, вы вызываете базовый компилятор Fortran (с определенными определенными параметрами), поэтому вы можете выбрать компилятор, который понимает эту функцию Fortran. Вы увидите, что последние компиляторы Intel это понимают (и недавние компиляторы G CC тоже).

В качестве альтернативы, если у вас нет доступа к такому компилятору, вы можете просто изменить код для использования более ранних функций:

2004    format(a30,9999(f10.6))

(для некоторого достаточно большого числа повторений): * действует как очень большое количество повторений.

...