C++ から使う Fortran を調査

お仕事として、Fortran を使うことになるとは思わなかった。大学の頃に炉物理関係で Fortran を使っていたのですが、その頃は Fortran 77。お仕事の方は、Fortran 95(あたり?)なので、ひとまず↓で評価しようかと。

XLsoft エクセルソフト : インテル Visual Fortran Composer XE Windows 版/インテル Visual Fortran コンパイラー XE Windows 版 製品紹介
http://www.xlsoft.com/jp/products/intel/compilers/fcw/index.html?tab=0

実は、Gnu にも Fortran があります。

GFortran – GCC Wiki
http://gcc.gnu.org/wiki/GFortran

ただし、今回は C++ から Fortran ライブラリを呼び出す(Fortran ライブラリを作る&GUI を C++ で書く)という具合なので、

  • 計算ロジックを Fortran で作成。
    • なので、Fortran の計算部分だけ理解できれば ok
    • リンク元は、VC++ なので、Gnu Fortran 独自の文法を使ってしまうとハマるかもしれない。
  • GUI 部分は、C++ で作成
    • C# でも可能、って話を貰ったのだが、Fortran との相性(構造体やポインタの扱い)を考えると、C/C++ がベター
    • GUI 系は、MFC の Doc-View を使っているので、極めて標準的

なんてことをぽろぽろと考えています。

Fortran 77 の頃は(今でも旧来のFortran を使ていればそのまま)、用語が大文字だったり、大小記号なんかが「GE」だったり「LT」だったりして、C 言語から Fortran 77 への変換が大変なのですが、Fortran 95 から文法が一新されています。C言語のように文法は標準で小文字を使い、大小記号は普通に「>」などの不等号を使えます。非常に可読性が良いです。インデントも使えるようになったので、見た目は C 言語とあまり変わりません。

Fortran入門: プログラムの書き方についての規則
http://www.nag-j.co.jp/fortran/FI_3.html#AUTOTOC_3_1

Fortran が便利なのは、科学計算が早いというのもそうですが、ファイルへのアクセスが手軽にできるのがいいのです。出力するときの書式が直感的に書けるのと、同じ形式でファイルの読込ができます。このあたり、炉物理では非常に重宝していました。

Fortran入門: データ入出力
http://www.nag-j.co.jp/fortran/FI_14.html#AUTOTOC_14

ってことで、メモ代わりにしばらく続く。

カテゴリー: Fortran パーマリンク