Share via


/U、/u (定義済みマクロ シンボルの未定義化)

/U コンパイラ オプションは、指定されたプリプロセッサ シンボルを未定義にします。 /u コンパイラ オプションは、コンパイラが定義する Microsoft 固有のシンボルを未定義にします。

/U[ ]symbol
/u

引数

  • symbol
    未定義にするプリプロセッサ シンボル。

解説

/U/u のどちらのオプションでも、#define ディレクティブで作成されたシンボルを未定義にはできません。

/U オプションでは、以前に /D オプションで定義されたシンボルを未定義にすることができます。

既定では、コンパイラは次の Microsoft 固有のシンボルを定義します。

シンボル

機能

_CHAR_UNSIGNED

既定の char 型が符号なしになります。 /J オプションを指定した場合に定義されます。

_CPPRTTI

/GR オプションでコンパイルしたコードに対して定義されます。

_CPPUNWIND

/EHsc オプションでコンパイルしたコードに対して定義されます。

_DLL

/MD オプションを指定した場合に定義されます。

_M_IX86

対象が x86 の場合は、既定で 600 に定義されます。

_MSC_VER

詳細については、「Predefined Macros」を参照してください。

_WIN32

WIN32 アプリケーションに対して定義されます。 これは、常に定義されます。

_MT

/MD または /MT オプションを指定した場合に定義されます。

Visual Studio 開発環境でこのコンパイラ オプションを設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、「方法 : プロジェクト プロパティ ページを開く」を参照してください。

  2. [C/C++] フォルダーをクリックします。

  3. [詳細] プロパティ ページをクリックします。

  4. [指定したプリプロセッサ定義の無効化] プロパティまたは [定義済みプリプロセッサ定義の無効化] プロパティを変更します。

このコンパイラ オプションをコードから設定するには

参照

参照

コンパイラ オプション

コンパイラ オプションの設定

/J (既定の char 型の unsigned への変更)

/GR (ランタイム型情報の有効化)

/EH (例外処理モデル)

/MD、/MT、/LD (ランタイム ライブラリの使用)