4

私はFortran77で書かれたソフトウェアをコンパイルしようとしています。私は、Fortranについてまったく知らないので、このソフトウェアのコードを変更し始めたくないことを指摘しておく必要があります。ソフトウェアのライセンスは何ですか。変更したバージョンを再配布できるかどうかわかりません。

コードは、これらのシステムで(かなり簡単に)利用できるg77コンパイラを使用して、OSXおよびWindowsで正常にコンパイルされます。ただし、Ubuntu用のg77を入手できなくなったため、Ubuntuディストリビューションで動作させることができません。古いバージョンをインストールしようとすると、GCCインストール全体が台無しになっているようです。gfortranとg95の両方でコードをコンパイルしようとしましたが、次のどちらでも機能しません。

  • コードはループインデックスとして実変数を使用します(はい、私は知っています、悪い考えです)。g95はオプションでこれをサポートし-freal-loopsますが、gfortranはサポートしません。
  • このコードは、実変数を使用して配列にインデックスを付けます。これは、gfortranが(警告付きで)サポートしますが、g95はサポートしません。

g95やgfortranなどの最新の簡単に利用できるコンパイラを使用して、これら2つの「危険な」機能でこのコードをコンパイルする方法を誰かが提案できますか?

4

1 に答える 1

3

引数-std=legacyを gfortran に渡します。F95 で削除された機能 (実際のループ インデックスや配列インデックスなど) は、レガシー モードで (おそらく警告付きで) コンパイルする必要があります。

于 2012-11-16T20:29:18.157 に答える