0

私のラップトップで正常に動作するプログラムを、リモートのスーパーコンピューターで実行しようとしています。しかし、プログラムはそこでコンパイルされていません。問題を追跡しようとして、プログラムを最小限に減らしましたが、それでもコンパイル エラーが発生します。ここで何がうまくいかないのか、誰にも考えがありますか?

[k00603@fe01p08 python_utilities]$cat test.f90
program test
character(:), allocatable :: out  
end program test
[k00603@fe01p08 python_utilities]$gfortran test.f90
In file test.f90:3

character(:), allocatable :: out
         1
Error: Syntax error in CHARACTER declaration at (1)

次のようにすると、gfortranは正常に動作していると思います。

[k00603@fe01p08 python_utilities]$cat test.f90
program test
print *, "Hello World!"
end program test
[k00603@fe01p08 python_utilities]$gfortran test.f90
[k00603@fe01p08 python_utilities]$./a.out 
Hello World!

スーパーコンピューターのコンパイラーは次のとおりです。

[k00603@fe01p08 256]$gfortran --version
GNU Fortran (GCC) 4.1.2 20080704 (Red Hat 4.1.2-51)
Copyright (C) 2007 Free Software Foundation, Inc.
4

2 に答える 2

1

CHARACTER(:)...遅延長文字として知られる Fortran 2003 の機能です。これは最近 gfortran に追加されたばかりで、一部の領域 (据え置き長文字コンポーネント) のサポートはまだ不完全です。

お使いのスーパーコンピューターは、この機能をサポートしていない古いバージョンのコンパイラーを実行している可能性があります。

于 2013-03-14T05:46:35.587 に答える
0

character(:), allocatable :: out割り当て可能なスケーラーを宣言しています。これは Fortran 2003 の新機能です。スーパー コンピューターのコンパイラは、この新しい機能をサポートしていない可能性があります。

gfortran を使用していることを暗示しています。 http://gcc.gnu.org/wiki/GFortranには、gfortran バージョン 4.5 で追加された割り当て可能なスケーラーが一覧表示されています (4.5 / Fortran 2003 を参照)。現在のリリース バージョンは 4.7 です。

于 2013-03-14T05:46:19.760 に答える