共用方式為


/U、/u (取消定義符號)

編譯 /U 程式選項會取消定義指定的預處理器符號。 編譯器 /u 選項會取消定義編譯器所定義的 Microsoft 特定符號。

語法

/U[ ] symbol
/u

引數

象徵
要取消定義之預處理器符號。

備註

/U/u 選項都無法取消定義使用 指示詞所建立的 #define 符號。

選項 /U 可以取消定義先前使用 /D 選項定義的符號。

根據預設,編譯器可能會定義大量的 Microsoft 特定符號。 以下是一些常見的方法:

符號 函式
_CHAR_UNSIGNED 預設字元類型為不帶正負號。 指定選項時 /J 定義。
_CPPRTTI 針對使用 /GR 選項編譯的程式碼定義。
_CPPUNWIND 針對使用 /EHsc 選項編譯的程式碼定義。
_DLL 指定選項時 /MD 定義。
_M_IX86 根據預設,針對 x86 目標定義為 600。
_MSC_VER 定義為每個編譯器版本的唯一整數值。 如需詳細資訊,請參閱 預先定義的宏
_WIN32 為 WIN32 應用程式定義。 永遠會定義。
_MT 指定 或 /MT 選項時 /MD 定義。

如需 Microsoft 特定預先定義宏的完整清單,請參閱 預先定義的宏

在 Visual Studio 開發環境中設定這個編譯器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性

  2. 選取 [ 組態屬性 > C/C++ > 進階 ] 屬性頁。

  3. 修改 Undefine 預處理器定義 取消定義所有預處理器定義 屬性。

若要以程式方式設定這個編譯器選項

另請參閱

MSVC 編譯器選項
MSVC 編譯器命令列語法
/J (預設字元類型為不帶正負號)
/GR (啟用執行時間類型資訊)
/EH (例外狀況處理模型)
/MD、 、 /MT/LD (使用執行時間程式庫)