12
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

はじめてのFortran開発 ~windowsにfortran開発環境を構築する編~

Last updated at Posted at 2022-10-23

シリーズ目次

  • はじめてのFortran開発 ~windowsにfortran開発環境を構築する編~
  • はじめてのFortran開発 ~Fortran製オープンソースFEM解析プログラムをビルドしてみる編~

1. はじめに

このシリーズは、はじめてFortranで開発することになった私の初心者の記録です。
そろそろ Fortran も古くなるだろうと敬遠していましたが、Fortran製で現在でも活発に開発・更新されているプログラムが存在し未だに現役の言語です。今更ながらFortranをまじめに勉強してみようと思い立ちました。
今回は、 windows に gfortran をインストールするところを書きます。

2. GFortran のインストール

Fortran を無料で楽しむには GNU Fortran (GFortran) というコンパイラをインストールすればいいらしい

参考:Windows PCへのgfortranのインストール (2019年5月)

2.1 GFortran のインストーラーをダウンロードする

2.1.1 下記の URL から TDM GCCのdownloadページを開く

2.1.2 tdm-gcc-webdl.exe ボタンをクリックしダウンロードする

image.png

2.2 GFortran をインストーラーする

2.2.1 tdm-gcc-webdl.exe を実行

ダウンロードしたtdm-gcc-webdl.exeを実行し,ダイアログの指示に従いインストールを行う.

Animation3.gif

  • デフォルトのインストールディレクトリは、C:\TDM-GCC-64であった.
  • ダイアログの項目が「New Installation:Choose Components」 (NextボタンがInstallボタンに変化した項目)の時に[Components] → [gcc] → [fortran] に必ずチェックをつけて,Installボタンを選択する.

2.3 正常にインストールできたか確認する

インストールが適切に終了すると,コンパイラに相当する実行ファイルgfortran.exeが C:\TDM-GCC-64\bin 内に作成され,パスが通されてどこからでも実行できる状態となる.コマンドプロンプトを起動して,

gfortran --version

と入力すると,

GNU Fortran (tdm64-1) 10.3.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

のように表示されれば,インストールは成功である.

3. テストプログラムを実行してみる

3.1 拡張機能から Modern Fortran をインストール

Vs Codeで 拡張子 .f90 のファイル作成し、表示させてみると

Marketplace には、'.f90' ファイルに役立つ拡張機能があります というメッセージが出ますので、MarketPlace で検索 ボタンを押下する

image.png

3.1.1 拡張機能から Modern Fortran をインストールします。

image.png

3.1.2 Modern Fortran の設定

インストールされた「Modern Fortran」を右クリック→拡張機能の設定

image.png

gfortranの場所を指定します。

C:\TDM-GCC-64\bin\gfortran.exe

image.png

3.2 テストプログラムを実行してみる

3.2.1 下記のテストプログラムを書きます

test.f90
program hello
    print *, 'Hello World!'
end program hello

image.png

3.2.2 手順1. fortranソースコードをコンパイル

fortran を実行するには、

  1. コンパイル
  2. 実行

の2つの手順が必要です。

コンパイルするには、ターミナルで以下のコマンドを実行します。

gfortran -g -o <出力ファイル名> <プログラムファイル名>

例えば下記のようにコマンドを実行すると、 test.exe ファイルが生成されます

gfortran -g -o test test.f90

image.png

3.2.3 手順2. 生成された test.exe を実行

ターミナルで以下のコマンドを実行します。

./test.exe

Hello World! を表示されれた成功です。

image.png

4. Vs CodeでFortranをデバックできるようにする

fortran で書かれたソースコードをコンパイルすることに成功しました。
次は、ソースコードの途中にブレークポイントを設定して、実行途中でブレーク(中断)できるようにvscodeの設定を行います。

4.1 .vscode フォルダに 2つのファイルを作成する

.vscodeフォルダに launch.jsontasks.json という名の2つのファイルを作成します。

image.png

4.1.1 tasks.json を以下のように設定する

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "gfortran",
            "args": [
                "-g",
                "-o",
                "${workspaceFolder}/${fileBasenameNoExtension}",
                "${fileBasename}"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": true,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": false
            }
        }
    ]
}

"command": "gfortran",
"args": [
"-g",
"-o",
"${workspaceFolder}/${fileBasenameNoExtension}",
"${fileBasename}"
],

この部分が、gfortran -g -o <出力ファイル名> <プログラムファイル名> のコマンドを実行するように設定している部分で、

このタスクを "build"という名前として登録しています。

4.1.2 launch.json を以下のように設定する

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 起動",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:/TDM-GCC-64/bin/gdb.exe", //確認して書き込む
            "setupCommands": [
                {
                    "description": "gdb の再フォーマットを有効にする",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "build" // tasks.jsonの"label"タグの値を書く
        }
    ]
}

"miDebuggerPath": "C:/TDM-GCC-64/bin/gdb.exe", この部分はgfortranをインストールしたフォルダに gdb.exe が存在することを確認し、そのパスを記述する

image.png

4.2 ブレークポイントを設定して事項してみる

4.2.1 実行する方法は、 VSCODE の ▷ ボタンをクリックする

ブレークポイントで、実行が中断したことが確認できます。

Animation5.gif

実際に開発をするときは、このように途中で止めながら開発をすすめていくことになります。

次回

次回は、Fortran製オープンソースのプログラムをダウンロードし、プログラムをビルドしてみることにチャレンジしたいと思います。

ありがとうございました。

12
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?