gfortranによるプログラム作成・コンパイル・実行法(windows10版)

初版 2018.05.23 T. Johzaki, Hiroshima University

 

本ドキュメントは、windows10にて簡単なプログラムを用いてgfortranによるプログラム作成・コンパイル・実行の一連の流れを学ぶために作成したものである。macOS用に作成した”gfortran Mac OS PCへのインストール法”におけるgfortranの使い方をwindowsように書き換えたものである。プログラミング用エディタ TeraPadFortranコンパイラgfortranをインストール済みであることが前提である。まだインストールしていない場合は、“プログラミング用エディタ TeraPadのインストール法”とFortranコンパイラ gfortranのインストール法(2018.05.20更新)を参照の上、インストールしてから、本ドキュメント内容に進んでください。(エディタについてはほかに使い慣れているものがあれば、そちらを使用してかまいません)

 

本ドキュメントで紹介するプログラムは、プログラム実行により画面上に”Hello, world!”を表示するだけの簡単なものである。

 

プログラム名 hello.f90

格納フォルダ:

内容

スクリーンショット 2018-05-18 19.12.31

上記プログラムの”!”の右側はプログラム内容を説明するためのコメント文である。

プログラム本体は”!”よりも左側の部分

 

1.    プログラムの作成

(a)  フォルダの作成

(b)  プログラム作成

2.    プログラムのコンパイル

3.    プログラムの実行

4.    エラーが生じたときの対処

 

 

 

1.          プログラム作成

 

(a)  プログラムファイル格納用フォルダを作成する。

 

どこに作成してもよいが、各自ルールを策定し、分かりやすく且つ分類しやすいように作成してください。本例では、c:\Users\tulu\Documents\の下にfortranというフォルダを作成し、その下にhelloというフォルダを作成した。今回作成するhello.f90はこのhelloフォルダ内に置く。(ほかのプログラムを作成する場合は、今回作成するfortranフォルダの下に別フォルダを作成しその中に置くようにする。これは私個人のルールであり、各自、分かりやすいように配すること。)

 

 

 

 

topに戻る

 

(b)  プログラムファイルを作成する。

 

TeraPadを起動する。

 

                     

TeraPadwindowが開く

    

 

ここではwindow左上の部分には“無題 – TeraPad”となっている。

 

このwindow内にプログラムを書き込む。(!マーク以降のコメントはなくてよい)

この際、注意すべき点は、

          半角英数字と記号のみを用いること

fortranプログラム本体部(!マークも含む。)には半角文字しか使えない。全角文字が(スペースや!マークも)が入っているとコンパイラが読めずにエラーとなる

      ! マークより右側はコメント部なので全角文字を使ってもOK

 

 

以上のプログラムを書き噛んだら、window左上のメニュー中のファイル→名前を付けて保存を選ぶ。もしくはファイル保存ボタンをおす。もしくはcntl+scntlボタンとsを同時に押す)

 

 

ファイル保存用windowが開くので、先ほど作成したDocuments下のfortran下のhelloフォルダにファイル名をhello.f90として保存する。

 

 

 

 

 

これでプログラムhello.f90が作成された。エクスプローラを開いて、helloフォルダを見るとhello.f90が新たに作成されていることがわかる。

 

 

拡張子.f90のファイルを開くアプリをTeraPadに設定し、ファイルを開く。

 

ここでファイル名にカーソルを合わせ右クリックしてメニューバーを開き、”プログラムから開く”を選択し、次のプルダウンメニューから“別のプログラムを選択”を選択する。

 

 

“このファイルを開く方法を選んでください”windowが開くので、#常にこのアプリを使って.f90ファイルを開く”にマークを入れ、TeraPadを選択し、OKボタンを押す。

 

これにより、拡張子.f90で終わるファイルを開くためのデフォルトのアプリがTeraPadに設定された。エクスプローラ上でのhello.f90の前のアイコンがTeraPadになっていれば設定OK.

 

 

hello.f90をダブルクリックすると、hello.f90TeraPadによって開かれる。

      Terapadもよく使うので、タスクバーにピン止めしておくと便利→エクスプローラのピン留め法参照

topに戻る

 

 

2.          コンパイル

 

次に作成したプログラムをコンパイルする。これにはコマンドプロンプトを使用する。

 

      任意フォルダーでのコマンドプロンプト起動:エクスプローラで、プログラム格納フォルダ”C:\Users\tulu\Documents\fortran\hello”を開き、アドレスバーに”cmd”と入力して、enterキーを押すと、helloフォルダーでコマンドプロンプトが起動する。

これがうまくいけば、以下はスキップ。うまくいかない場合は、以下の手順で進めてください。

 

コマンドプロンプトは、スタートメニューàwindowsシステムメニューàコマンドプロンプトにより起動する。

 

 これによりコマンドプロンプトウィンドウが開かれる。

 

      コマンドプロンプトもTeraPadと同様にタスクバーにピン留めしておくとよい

à エクスプローラのピン留め法参照

 

上記の開いた状態では、

C:\Users\tulu>

となっている。この”tulu”はユーザー名で、各自のPCによって異なる。また、”ユーザー名>”(ここでは”tulu>”)の後に、”_”が点灯している。

これは、今開いてるコマンドプロンプトがc:\Users\tuluというフォルダにいることを意味する。作成したプログラフファイルは C:\Users\tulu\Documents\fortran\hello\にあるので、そのフォルダまで移動する。

フォルダの移動は “cd”コマンドにより行う。コマンドプロンプト上で

cd Documents\fortran\hello

と打つと、下記の通り、C:\Users\tulu> C:\Users\tulu\Documents\fortran\hello>に変わる。

 

 

ここで”dir”と打つと、このフォルダにあるファイルの一覧が示される。

 

 

先ほど作成したプログラムhello.f90があることが確認できる。

 

 

このhello.f90をコンパイルするには

              gfortran hello.f90

上記コンパイルを実行した際に、空白一行を挟んで、C:\Users\tulu\Documents\fortran\hello>が表示されれば、コンパイルできている。続いてdirを打つと、先ほどはhello.f90だけだったのに対し、コンパイル後はa.exeが作成されている。これが実行形式のファイルである。

 

 

以上でコンパイルが完了した。上記コンパイルコマンド実行後に何らかのメッセージが出てきた場合はプログラムにエラーがある。(エラーが出た場合については後述)

topに戻る

 

 

3.          実行

 

最後に実行である。実行は、コンパ入りにより作成されたファイル名を入力しキーを押す。

 

 

これで実行成功である。

topに戻る

 

 

 

コンパイル時にエラーが生じた場合

プログラム中に意図的にエラーを書き加えてコンパイルすると下記表示となった。

 

 

コンパイル後に、表示されたメッセージを見ると2カ所エラーがあることが示されている。

 

最初のエラーは2行目の24カラム目の次にエラーがあり、内容はPRINT文に文法上のエラーがあると表示されている。(Syntax error →文法上のエラー, in PRINT statement at (1)àprint文の”1”で示されているところの次のカラム)

 

よく見ると“・・・world!”の後に不要な”a”が入っている。

 

プログラムをTeraPadで開いて、不要な”a”を削除して保存する。

 

 

コマンドプロンプトに戻って、再びコンパイルすると・・・

 

 

最初エラーは消えた。

 

2つ目のエラーはstop文の後にあり、これも文法上のエラーとなっている。ただし、この画面を見ただけでは、単に”stop”と書かれているだけで、どこが悪いかわからない。一方、TeraPadのウィンドウを見てみると

 

 

1,2,4行は、最後の文字のすぐ後に改行マークがあるが、3行目のstop文の後にはスペースが開いた後に改行マークがある。このスペースは半角ではなく全角スペースである。プログラム作成のところでも述べたが、fortranプログラム本体部(!マークも含む。)には半角文字しか使えない。全角文字が(スペースや!マークも)が入っているとコンパイラが読めずにエラーとなる2つ目のエラーはこれによるものである。”stop”の後にある全角スペースを削除してファイル保存する。

 

 

 

コマンドプロンプトに戻って、再びコンパイルすると・・・

 

 

2つ目のエラーも消えて、コンパイルできたことが分かる。めでたしめでたし

 

topに戻る