0

Windowsでgccに移植しようとしている古いFortran77がいくつかあります。

私はgfortran4.4を使用しています。

ステートメントはREAD(FOO、'(F)'、ERR = BAR)BAZを使用し、gccはFについて不平を言っています。私が見たところ、Fにはそれに関連付けられたサイズが必要であるように見えます。同様の構成を使用するFORMATステートメントもあります。

これを移植する適切な方法は何ですか?Sun StudioコンパイラでFを単独で使用すると、適切なサイズにぴったり合うようです。しかし、gfortranは、それが非負または正の幅ではないことについて不平を言います。

これを移植する方法はありますか?

4

1 に答える 1

1

これはフォーマットされた読み取りです。READ(FOO、'(FN.M)'、ERR = BAR)BAZ、N、およびM固有の数値である必要があります。ここで、Nは文字単位のフィールド幅、Mは小数点以下の桁数です。入力では、データに小数点があるかどうかは関係ありません。小数点がフォーマット仕様を上書きするためです。入力データが常にこの厳密な仕様に適合するかどうかわからない場合は、フォーマットフリーの入力に切り替えることをお勧めします:READ(FOO、*、ERR = BAR)BAZ。これは、リスト指向I/Oとも呼ばれます。これは非常に柔軟で推測可能であり、おそらく拡張機能「F」が行っていたこととよりよく一致します。(format-free / list-directedは、ビットの変換を行わないバイナリファイル用のunformattedとは異なります。)

于 2010-02-24T02:52:34.517 に答える