Windows上でフリーのfortranコンパイラを導入して、簡単なプログラムを作成する

[2010.2.3]姉妹編の文法基礎を書きました。 fortran 基礎文法最速マスター - あらきけいすけの雑記帳
学生に fortran プログラミングをやらせようとして*1Windows 上の fortran 90 環境を構築させようと思ったのだが、fortran コンパイラ フリー windows - Google 検索, fortran コンパイラ 無料 windows - Google 検索 で検索した結果、上位にくるページの情報があまりに古いので(Cygwin/g77, WATCOM, Salford みたいなのばっかりで MinGW にすらたどり着けない)、仕方がないので自分で書く。
2009年現在、Windows用のインストーラがあって、ビギナーでもワンクリックでインストールできる fortran 90 環境がある。
ここで使うのは gcc (GNU compiler collection)ベースの g95 というコンパイラ*2。以下のメモはハイパービギナー向け。"hello, world" コードの作成まで。

g95の導入

いま無料の windows 用の fortran 90 コンパイラで導入が簡単なものは g95 なんじゃないかと思う。ホームページが英語で書いてあるからってビビらないように。

  1. http://www.g95.org/ に入る
  2. Downloads の Binaries のページ http://www.g95.org/downloads.shtml"Information for Windows users" をクリック
  3. そこの g95-MinGW.exe の項目の Download from: http://ftp.g95.org/g95-MinGW.exe をクリックしてインストーラをダウンロードする(保存先はデスクトップでいいよ)。
  4. ダウンロードできた g95-MinGW.exe をクリックしてインストールを開始。
  5. インストール中のダイアログに全部「はい(Y)」「OK」と返事をすると。インストールができる。[2009.6.12改訂]
    1. まずインストーラの[実行(R)]をする

    2. 「g95 MinGW インストーラである」という表示が出る。ここは[OK]を出す

    3. インストール先フォルダ指定のところで Destination Folder を C:\g95 に設定する*3

    4. [OK]して MinGW utilities and libs を入れる。

    5. パス設定の画面で PATH = c:\g95\bin, LIBRARY_PATH = c:\g95\lib であることを確認して[OK]を出す。ここが g95 を利用する上で大事な「コンパイラ、ライブラリへのパスの設定」である。*4

    6. Set LIBRARY_PATH for all users? に[はい(Y)]と答える。

    7. Open README.txt now? は[OK][キャンセル]どっちでもいい。

    8. インストールできたよ "G95 was successfully installed" と表示が出る。"Click OK to close"と書いてあるので[OK]をクリック

    9. この画面になるので[Close]する

これで C:\mingw フォルダの中に g95 がインストールされて、環境変数 PATH に C:\mingw\bin が書き加えられている*5

fortranプログラムの作成環境の作成*6

以下は Windows XP で実行した。

  1. まずデスクトップ上に fortran という名前のフォルダを作成する
  2. [スタート]→[すべてのプログラム(P)]→[アクセサリ]→[コマンドプロンプト]で右クリックをして[コピー(C)]をクリック
  3. fortran フォルダを開いて [編集(E)]→[貼り付け(P)] をすると、フォルダにコマンドプロンプトのショートカットができる。
  4. ここでコマンドプロンプトのショートカットを選択して [右クリック]→[プロパティ(R)] を選択して、「作業フォルダ(S)」の項目が空欄であることを確認する。(これでクリック時にそのフォルダがコマンドプロンプトのデフォルトの作業フォルダになる。)
  5. コマンドプロンプトのショートカットをクリックすると、コマンドプロンプトが起動する。
  6. ここで「g95[enter]」と入力して「g95: no input files」と表示されることを確認する。
  7. ここで「exit[enter]」と入力すると、コマンドプロンプトは消える。

fortranプログラムの作成

以下は Windows XP で実行した

  1. [ファイル(F)]→[新規作成(W)]→[テキストドキュメント]で「新規テキスト ドキュメント.txt」ができる
  2. これをクリックするとメモ帳が立ち上がる(はず)
  3. メモ帳で全部半角文字で次の3行を入力する
    write(*,*) 'hello, world'
    stop
    end
  4. [ファイル(F)]→[名前をつけて保存(A)]で「ファイル名(N)」を test.f90 「ファイルの種類(T)」を「すべてのファイル」にして保存
  5. コマンドプロンプトを起動して「g95 test.f90[enter]」を入力。フォルダの中に a.exe が出来る。
  6. コマンドプロンプトで「a.exe[enter]」を入力。入力の次の行に「 hello, world」が表示される。

アンインストール

  1. C:\mingw フォルダ内の uninstall-g95.exe を実行
  2. C:\mingw フォルダをバッサリと消す

C/C++プログラミングもしたい人は

  1. MinGW (Minimalist GNU for Windows)を先にインストールする。自動インストーラ "Automated MinGW Installer" MinGW-5.1.4.exe を MinGW - Minimalist GNU for Windows - Browse /OldFiles at SourceForge.net からダウンロードする。
  2. MinGW をインストールする(C++プログラミングしたい人は g++ もインストールする)
  3. そのあとで g95 をインストールする

*1:何か大学には無意味な「C/C++信仰」のようなものがあって、fortranを「古い言語」だと勘違いしている学生や教師(情報系ではなくて、数理系、工学系)が結構いるが、大型計算機ではfortranを使うことが多い。その理由は(ボクが思うのには)fortranはメモリの使い方が割と明示的で、メモリアクセスの最適化が掛けやすいからである。逆にC/C++ではいつどこでインスタンスが作成されるか、メモリアロケーションが起こるか事前に読み切れない部分がある。

*2:gccの一部であるgfortranとは別物。インストールした感じ(あくまで主観)では g95 の方が idiot friendly user friendly な感じ。

*3:[2009.6.12]このステップでフォルダ名をしっかりと指定したほうが良いようだ。ディレクトリ名は"g95"でなくてもよい。
 ここで手元の環境で何度がインストール、削除を繰り返してみたのだが、Destination Folder は g95-MinGW.exe の入っているディレクトリになったり、以前インストールしたディレクトリになったりしたので、多分、以前のインストール時のレジストリを見ているのではないか。

*4:ここで bin, lib の前のディレクトリ名は Destination folder で指定したディレクトリ名になっているはず。

*5:g95はPATHの書き込みが自動でなされるところがありがたい。あとアンインストールは C:\mingw フォルダ内の uninstall-g95.exe を実行した上で、C:\mingw フォルダをバッサリと消すだけでOKなところもいい。

*6:これは「パス」「カレント・ディレクトリ」などの基礎事項を十分に把握できていない初級者でも、コマンドラインでカレントディレクトリ内での作業を行うための簡単な手法…のつもり。要点はコマンドプロンプトのショートカットを「作業フォルダ」の指定をわざと空白にした状態でプログラムのソースコードを置くディレクトリ内に置く。この状態で起動するとコマンドラインのカレントディレクトリがショートカットの入ったディレクトリになる。場合によっては cd コマンドを教育するより、ショートカットをコピーさせる方が、演習時間的にはローコストになることもある。