다음을 통해 공유


/U, /u(기호 정의 해제)

/U 컴파일러 옵션은 지정된 전처리기 기호를 정의하지 않습니다. /u 컴파일러 옵션은 컴파일러가 정의하는 Microsoft 관련 기호를 정의하지 않습니다.

구문

/U[ ]symbol
/u

인수

symbol
정의되지 않는 전처리기 기호입니다.

설명

두 옵션 모두 /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. 정의되지 않은 전처리기 정의를 수정하거나 모든 전처리기 정의 속성을 정의 취소합니다.

프로그래밍 방식으로 이 컴파일러 옵션을 설정하려면

참고 항목

MSVC 컴파일러 옵션
MSVC 컴파일러 명령줄 구문
/J (기본 문자 형식은 서명되지 않음)
/GR (런타임 형식 정보 사용)
/EH (예외 처리 모델)
/MD, /MT/LD (런타임 라이브러리 사용)