gfortranによるプログラム作成・コンパイル・実行法(windows10版)
初版 2018.05.23 T. Johzaki, Hiroshima University
本ドキュメントは、windows10にて簡単なプログラムを用いてgfortranによるプログラム作成・コンパイル・実行の一連の流れを学ぶために作成したものである。macOS用に作成した”gfortranの Mac OS PCへのインストール法”におけるgfortranの使い方をwindowsように書き換えたものである。プログラミング用エディタ TeraPadとFortranコンパイラgfortranをインストール済みであることが前提である。まだインストールしていない場合は、“プログラミング用エディタ
TeraPadのインストール法”とFortranコンパイラ
gfortranのインストール法(2018.05.20更新)を参照の上、インストールしてから、本ドキュメント内容に進んでください。(エディタについてはほかに使い慣れているものがあれば、そちらを使用してかまいません)
本ドキュメントで紹介するプログラムは、プログラム実行により画面上に”Hello,
world!”を表示するだけの簡単なものである。
プログラム名: hello.f90
格納フォルダ:
内容
上記プログラムの”!”の右側はプログラム内容を説明するためのコメント文である。
プログラム本体は”!”よりも左側の部分
1. プログラムの作成
(a) フォルダの作成
(b) プログラム作成
2. プログラムのコンパイル
3. プログラムの実行
4. エラーが生じたときの対処
どこに作成してもよいが、各自ルールを策定し、分かりやすく且つ分類しやすいように作成してください。本例では、c:\Users\tulu\Documents\の下にfortranというフォルダを作成し、その下にhelloというフォルダを作成した。今回作成するhello.f90はこのhelloフォルダ内に置く。(ほかのプログラムを作成する場合は、今回作成するfortranフォルダの下に別フォルダを作成しその中に置くようにする。これは私個人のルールであり、各自、分かりやすいように配すること。)
(topに戻る)
TeraPadを起動する。
⇓
TeraPadのwindowが開く
ここではwindow左上の部分には“無題 – TeraPad”となっている。
このwindow内にプログラムを書き込む。(!マーク以降のコメントはなくてよい)
この際、注意すべき点は、
半角英数字と記号のみを用いること
fortranプログラム本体部(!マークも含む。)には半角文字しか使えない。全角文字が(スペースや!マークも)が入っているとコンパイラが読めずにエラーとなる。
※
! マークより右側はコメント部なので全角文字を使ってもOK
以上のプログラムを書き噛んだら、window左上のメニュー中のファイル→名前を付けて保存を選ぶ。もしくはファイル保存ボタンをおす。もしくはcntl+s(cntlボタンと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.f90がTeraPadによって開かれる。
※
Terapadもよく使うので、タスクバーにピン止めしておくと便利→エクスプローラのピン留め法参照
(topに戻る)
次に作成したプログラムをコンパイルする。これにはコマンドプロンプトを使用する。
※
任意フォルダーでのコマンドプロンプト起動法:エクスプローラで、プログラム格納フォルダ”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に戻る)
最後に実行である。実行は、コンパ入りにより作成されたファイル名を入力し⏎キーを押す。
これで実行成功である。
(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に戻る)