Fortran Builder では、プログラム単位と手続の間の呼び出し関係の表(コールグラフ)を作成することができます。既存のプログラムを解読する際の補助ツールとしてコールグラフをご利用ください。
利用例(一度も呼び出されない手続を見つける)
以下のプログラム例 maths_funcs.f90 と use_funcs.f90 に対して、どこからも呼び出されない手続があるかどうか、コールグラフを用いて調べてみます。
[ maths_funcs.f90 ]
module maths_functions implicit none contains function add(a, b) integer, intent(in) :: a, b integer add add = a + b end function function subtract(a, b) integer, intent(in) :: a, b integer subtract subtract = a - b end function end module
[ use_funcs.f90 ]
program main use maths_functions implicit none integer :: a = 2, b = 3 print *, 'a + b =', add(a, b) end program
※ 以下の説明は、これらのソースファイルが Fortran Builder のプロジェクトに追加されていることを前提としています。
Fortran Builder のメニューバーから「ツール > コールグラフの表示」を選択してください。
「コールグラフの表示」ウィンドウが開き、プロジェクトに追加されている Fortran ソースファイルの一覧が表示されます。
対象のソースファイル maths_funcs.f90 と use_funcs.f90 にチェックを入れて「OK」ボタンを押してください。
コールグラフ callgraph.txt がプロジェクトフォルダーに作成されます。
「呼び出しテーブル」を見ると、モジュール maths_functions に含まれる手続 subtract は「呼び出し元」が「無し」となっており、どこからも呼び出されないことが分かります。
[ ccallgraph.txt ]
コールグラフ 2015年02月02日 15:44 1: MAIN 2: ADD 3: SUBTRACT コールグラフの索引 行 手続 2 ADD, in module MATHS_FUNCTIONS 1 MAIN 3 SUBTRACT, in module MATHS_FUNCTIONS 呼び出しテーブル 手続 呼び出し元 ADD MAIN SUBTRACT 無し