C ユーザーズガイド

移植性の検査

lint は、デフォルトでいくつかの移植不能コードを知らせます。lint-p または -Xc を指定して呼び出されると、さらに多くのケースが診断されます。-Xc により、lint は ANSI C 規格に一致しない言語構造を検査します。-p-Xc のもとで発行されるメッセージに関しては、lint ライブラリ」を参照してください。次に例を示します。

-p オプションで呼び出した lint は、普通の char が負の値を取る可能性があるような比較をすべて検査します。しかし上記の例では、csigned char で宣言しても、問題が除去されるのではなく診断が除去されるだけである点に注意してください。これは、getchar() が入力可能な文字と明確な EOF 値を返さなければならず、char がその値を格納することができないためです。これは、処理系ごとに定義される符号拡張から生ずる最も一般的な例です。これにより、lint の移植性オプションを注意深く使用すると移植性に関係しないバグを発見するのに役立つということがわかります。ここでは cint で宣言します。

診断は、-a オプションを指定して呼び出すことにより抑制することができます。どのオプションを指定して lint を呼び出しても、他の診断をも抑制する可能性があることに注意してください。2 つ以上の診断を抑制するオプションについては、lint ライブラリ」のリストを参照してください。

-h を指定して lint を実行することによってこの診断を抑制することができます。この場合もまた、他のメッセージを抑制する可能性があります。汎用ポインタ void * を使用すれば他の影響を回避することができます。