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 無し
