私にとっては完璧に機能しました。ここでは、ファイル名、コンテンツ、実行コマンドとの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は行継続に使用されます。 FORTRAN77構文で
次codeexample作品:位置番号6で&に
program test
implicit none
real :: a
a=1.+
& 2.
write(*,*)'Gfortran code ',a
end program test
注意test.f!あなたのコンパイラは、標準の固定フォーマットに固執していないという事実を無視しているようです。あなたのコードを77でコンパイルしようとすると、その問題を正確に参照する1つのerrormessagesが得られます。これは時々発生します(コンパイラによっては大文字と小文字が区別され、他のコンパイラでは区別されないものもあります)。
コンパイルの依存関係を回避するには、常に言語標準に従ってください。
ところで - ここで素敵なFortran77 Tutorial。
解決策は何ですか?私の答え –
の2つの解決策のアップデートを参照してください。1)使用。フリーフォームの場合はf90)2)コンパイラスイッチの引数として-fixedを使用します。 (もしあなたがそうしたいなら、.f90には.freeを、.f90には.fixedを使うことができます。 – Holmz
こんにちは、Markus、そうです、問題は接尾辞 ".f90"と私が尊敬しなかったという事実でしたあなたの時間と詳細な答えをありがとう、私はそれを感謝します。あなたは時間のトンを救った。 –