3

私が対処しなければならないいくつかの Fortran 77 コードでは、非常に奇妙な方法で宣言されたポインターがあります。

 pointer  (iuu     , uu      ), (ivv     , vv      ),
 $        (it      , t       ), (iq      , q       ), (ips     , ps      ),
 $        (ittm    , ttm     ), (itqm    , tqm     ), (ipsm    , psm     ),

ここの括弧はどういう意味ですか? なんでも?

4

1 に答える 1

7

これらはCrayポインタintegerであり、通常の変数を使用してターゲットのメモリアドレスを格納する非標準タイプのポインタです。これは別の変数またはプロシージャである可能性があります。これらは、プログラマーがこの機能を望んでおり、Fortran77にはネイティブポインター機能がなかったために導入されました。

コード内の括弧は、Crayポインターの代入ステートメントですpointer (iptr, target) [, ...]

可能であれば、これらを標準のFortranポインターに変更することを検討する必要があります。これは、それらの使用法が制限や仮定の対象となることが少なく、Fortran90を実装するすべてのコンパイラーで明らかにサポートされているためです。

于 2013-01-08T16:52:00.683 に答える