以前、依存関係グラフと依存関係ブラウザーについて、フィルタリング可能な 依存関係の種類 についてご案内しました。
今回は、情報ブラウザー画面の References に表示される依存関係の種類とその意味についてご紹介します。
C言語における、依存関係の種類とその意味は、以下の通りです。
この一覧は代表的な依存関係であり、その他の種類もあります。
依存関係 | 意味 |
---|---|
Addr Use | アドレス参照 |
Call | 呼び出し |
Cast | キャスト |
Declare | 宣言元 |
Define | 定義元 |
Deref Modify | デリファレンスでの変更 (インクリメント/デクリメント/複合代入) |
Deref Set | デリファレンスでのセット |
Deref Use | デリファレンスでの参照 |
Include | インクルードの参照 |
Init | 初期化 (定義と同時に初期化) |
Macro | マクロ定義での参照 |
Modify | 変更 (インクリメント/デクリメント/複合代入) |
Return | return 句での参照 |
Set | 代入 |
Type | 型定義 |
Use | 参照 |
※Derefはデリファレンス (Dereference) の略であり、ポインタや配列で参照の指し示す値を取り出す場合に、Deref が付きます。
C言語のサンプルコードと、その情報ブラウザー画面の References を下記に示します。
サンプルコード
---------------------- 01 #include 02 int num = 0; 03 04 int foo () { 05 int *p; 06 num = 100; 07 num++; 08 num += 10; 09 num <<= 1; 10 *p = 10; 11 *p--; 12 p = # 13 printf ("num = %d *p = %d\n", num, *p); 14 return num; 15 } ---------------------- ※行頭は行番号を示します。
情報ブラウザー画面
グローバル変数 num の表示
ポインタ変数 p の表示
Understandの解析では、このように、各エンティティ (変数や関数など) の詳細なリファレンス情報を取得することができますので、コードリーディングなどに是非ご活用ください。