分享方式:


/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 使用執行時間連結函式庫 )