プロシージャー間の解析

スタティックの検証は、次のようなプログラムユニット間のオブジェクト宣言の不一致を検出します。

次に、プロシージャー間の解析例を示します。

例 1: データ型の誤り

config1.c ファイルには、次のコードが含まれています。

31    int extraSpace , pad , height , width , rows , bot , top , trow ;

dimbox.c ファイルには、次のコードが含まれています。

13    char **rows ;

スタティックの検証機能で次のメッセージが発行されます。

dimbox.c(13): error #12090: variable "rows" declared inconsistently (wrong type).See (file:config1.c line:31)

例 2: 引数の数の誤り

controlf.c ファイルには、次の関数宣言が含まれています。

controlf()

uloop2.c ファイルには、次のコードが含まれています。

65     fds = controlf( 1 ) ;

スタティックの検証機能で次のメッセージが発行されます。

uloop2.c(65): error #12020: wrong number of arguments