C and C++


LANG.PREPROC.COND : 条件付コンパイル

要旨

以下の条件コンパイル構文が使用されています。

このチェックは以下の構文のうち一つのみがファイルに含まれている場合は無視されます。

#ifndef macro_name 
#define macro_name
/* code */
#endif
#if !defined(macro_name) 
#define macro_name
/* code */
#endif

上記以外の場合、条件コンパイル構文が全くコードを含まない場合でもこのワーニングが引き起こされます。

プロパティ

クラス名 Conditional Compilation
日本語クラス名 条件付コンパイル
クラス分類 スタイル (style)
ニーモニック LANG.PREPROC.COND
カテゴリー
CWE CWE:710 Improper Adherence to Coding Standards
POW10 POW10:8 Limit the use of the preprocessor to file inclusion and simple macros.
JPL JPL:20 Make only very limited use of the C pre-processor.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Conditional Compilation"

int x;

#ifdef PRINT_ON   /* 'Conditional Compilation' warning issued here */
    printf("x = %d", x);
#endif

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。