/Za, /Ze(언어 확장명 사용 안 함)

/Za 컴파일러 옵션은 ANSI C89/ISO C90과 호환되지 않는 C로 Microsoft 확장에 대한 오류를 사용하지 않도록 설정하고 내보낸다. 사용되지 않는 /Ze 컴파일러 옵션을 사용하면 Microsoft 확장을 사용할 수 있습니다. Microsoft 확장은 기본적으로 사용하도록 설정됩니다.

구문

/Za
/Ze

설명

참고 항목

코드가 C++로 컴파일될 때는 /Za를 사용하지 않는 것이 좋습니다. /Ze 옵션은 동작이 기본적으로 사용되므로 더 이상 사용되지 않습니다. 사용되지 않는 컴파일러 옵션 목록은 사용되지 않는 컴파일러 옵션 및 제거된 컴파일러 옵션을 참조 하세요.

Microsoft C/C++ 컴파일러는 다음 두 가지 방법으로 C 코드 컴파일을 지원합니다.

  • 컴파일러는 소스 파일에 .c 확장자가 있거나 /Tc 또는 /TC 옵션이 지정된 경우 기본적으로 C 컴파일 모드를 사용합니다. C 컴파일러는 기본적으로 C 언어에 대한 Microsoft 확장을 사용하도록 설정하는 C89/C90 컴파일러입니다. 특정 확장에 대한 자세한 내용은 C 및 C++로 Microsoft 확장을 참조 하세요. C 컴파일과 /Za 옵션을 모두 지정하면 C 컴파일러는 C89/C90 표준을 엄격하게 준수합니다. 컴파일러는 Microsoft 확장 키워드(keyword) 단순 식별자로 처리하고, 다른 Microsoft 확장을 사용하지 않도록 설정하고, C 프로그램에 대해 미리 정의된 __STDC__ 매크로를 자동으로 정의합니다.

  • 컴파일러는 C++ 컴파일 모드에서 C 코드를 컴파일할 수 있습니다. 이 동작은 .c 확장명이 없는 원본 파일과 /Tp 또는 /TP 옵션이 지정된 경우의 기본값입니다. C++ 컴파일 모드에서 컴파일러는 C++ 표준에 통합된 ISO C99 및 C11 표준의 해당 부분을 지원합니다. 거의 모든 C 코드도 유효한 C++ 코드입니다. 소수의 C 키워드(keyword) 및 코드 구문이 유효한 C++ 코드가 아니거나 C++에서 다르게 해석됩니다. 컴파일러는 이러한 경우 C++ 표준에 따라 동작합니다. C++ 컴파일 모드에서는 /Za 옵션으로 인해 예기치 않은 동작이 발생할 수 있으며 권장되지 않습니다.

다른 컴파일러 옵션은 컴파일러가 표준 규격을 보장하는 방법에 영향을 줄 수 있습니다. 특정 표준 C 및 C++ 동작 설정을 지정하는 방법은 /Zc 컴파일러 옵션을 참조하세요. 추가 C++ 표준 규칙 설정은 /permissive 및/std 컴파일러 옵션을 참조하세요.

Visual C++의 규칙 문제에 대한 자세한 내용은 비표준 동작을 참조 하세요.

Visual Studio 개발 환경에서 이 컴파일러 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.

  2. 구성 속성>C/C++>Language 속성 페이지를 선택합니다.

  3. 언어 확장 사용 안 함 속성을 수정합니다.

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

DisableLanguageExtensions을(를) 참조하세요.

참고 항목

컴파일러 옵션
/Zc(규칙)
/permissive-(표준 준수)
/std(언어 표준 버전 지정)