Для меня это сработало отлично. Здесь имя файла, содержание, исполнение команд и gfortran особенности:
test.f90:
program test
implicit none
real :: a
a=1.+ &
2.
print *,'Gfortran code ',a
end program test
скомпилирован с: gfortran test.f90
:
бег с: ./a.out
выход: Gfortran code 3.00000000
gfortran версия gfortran -v
:
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable- languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.2 (Debian 4.7.2-5)
UPDATE:
Решение было изменить суффикс файла .f90.
reaon, почему это работает следующим образом: Файл .f90 интерпретируется как FORTRAN 90/95/2003/... стандарт (обратная совместимость). Если файл называется .f, он интерпретируется в соответствии со стандартом Fortran77 в Standard Fixed Format. В этом стандарте синтаксиса вы можете видеть, что первые 5 символов каждой строки должны быть пустыми. 6-й используется для продолжения линии.
следующие codeexample работы в синтаксисе Fortran77: test.f
program test
implicit none
real :: a
a=1.+
& 2.
write(*,*)'Gfortran code ',a
end program test
Внимание к & в позиции номер 6! Ваш компилятор, похоже, игнорирует тот факт, что вы не придерживались стандартного фиксированного формата. Если я попытаюсь скомпилировать ваш код с помощью 77, я получаю массу ошибок, которые относятся именно к этой проблеме. Это случается время от времени (некоторые компиляторы также чувствительны к регистру, а другие нет).
Таким образом, чтобы избежать зависимости от компиляции, всегда придерживайтесь стандартов языка.
Кстати, здесь приятно Fortran77 Tutorial.
Теперь, когда мы выяснили, какое решение, см. Обновление моего ответа –
Два решения ... 1) использовать.f90 для бесплатной формы 2) используйте -fixed как аргумент переключателя компилятора. (Вы можете использовать -free для .for и .fixed для .f90, если так хочется. – Holmz
Привет, Маркус, вы правы, проблема была суффикс «.f90» и тот факт, что я не уважал Стандарты фиксированной формы. Спасибо за ваше время и подробный ответ, я ценю это. Вы спасли мне массу времени. –