February 08, 2004FortranをCに変換 @ Cygwin[Computer]
cygwinでfortranのソースをコンパイルするにはg77コンパイラをいれればいい話ですが(やり方はここ)、fortranのソースをCにコンバートしてくれるf2cというものがあるので、それを使ってみることにしました。 インストール方法をいちいち解説するのは面倒なので、インターネット上にあったシェルスクリプトを改造してCygwin用の自動インストーラを作りました。ここからダウンロードできます。 $ wget https://fenrir.naruoka.org/download/archive/buildf2c
$ chmod +x buildf2c $ ./buildf2c もしbuildf2cというファイルが正しく落とせなかった場合はwgetというソフトがないことによるものです。Cygwinのインストーラのソフトを選択する画面でWebカテゴリの中に入っていると思うので、あらかじめインストールしておいてください。またインストールにはgccを利用しますので、それもお忘れなきよう。 あとはf2cの使用法ですが、以下の手順で利用できます。 $ f2c hoge.f
これでhoge.fはhoge.cというC言語のコードに翻訳されます。また、できたhoge.cをコンパイルするには $ gcc hoge.c -I/usr/local/include -L/usr/local/lib -lf2c
となにやらオプションをたくさんつける必要があります。 実際、f2cを使用してみた結果は、shockt.f⇒shockt.c。当然ながら可読性はありませんが、コンパイル後のバイナリを比較してみると、f2cを使用した方法のほうがファイルサイズが小さくなっています(『g77 shockt.f』は69196byte、『gcc shockt.c』は61355byte)。うわさによるとf2cを使用したほうがコードが多少高速化されるらしいです。 コメント
コメントする
|
スポンサード リンク
|