C/C++ 속성 페이지

다음 속성 페이지는 프로젝트>속성 구성 속성>>C/C++에서 찾을 수 있습니다.

C/C++ 일반 속성

추가 포함 디렉터리

포함 경로에 추가할 하나 이상의 디렉터리를 지정합니다. 둘 이상의 디렉터리를 세미콜론('';)으로 구분합니다. /I (추가 포함 디렉터리) 컴파일러 옵션을 설정합니다.

추가 #using 디렉터리

지시문에 전달된 #using 이름을 확인하기 위해 검색할 디렉터리를 하나 이상 지정합니다. 둘 이상의 디렉터리를 세미콜론('';)으로 구분합니다. /AI 컴파일러 옵션을 설정합니다.

추가 BMI 디렉터리

지시문에 전달된 이름을 확인하기 위해 검색할 import 디렉터리를 하나 이상 지정합니다. 둘 이상의 디렉터리를 세미콜론('';)으로 구분합니다. /ifcSearchDir[path] 컴파일러 옵션을 설정합니다.

추가 모듈 종속성

지시문에 전달된 이름을 확인하는 데 사용할 하나 이상의 모듈을 import 지정합니다. 둘 이상의 디렉터리를 세미콜론('';)으로 구분합니다. /reference 컴파일러 옵션을 설정합니다.

추가 헤더 단위 종속성

헤더 지시문에 전달된 이름을 확인하는 데 사용할 하나 이상의 헤더 단위를 import 지정합니다. 둘 이상의 디렉터리를 세미콜론('';)으로 구분합니다. /headerUnit 컴파일러 옵션을 설정합니다.

모듈 종속성에 대한 원본 검사

설정하면 컴파일러는 모듈 인터페이스 및 헤더 단위 원본뿐만 아니라 모든 C++ 원본에서 모듈 및 헤더 단위 종속성을 검색합니다. 빌드 시스템은 전체 종속성 그래프를 빌드하여 가져온 모든 모듈 및 헤더 단위가 종속된 파일을 컴파일하기 전에 빌드되도록 합니다. Import에 포함 변환과 결합하면 헤더 파일과 동일한 디렉터리의 파일에 지정된 header-units.json 모든 헤더 파일이 헤더 단위로 컴파일됩니다.

확장.ixx명이 있는 파일과 파일 속성>C/C++>Compile As 속성이 C++ 헤더 단위(/exportHeader)로 컴파일되도록 설정된 파일은 항상 검색됩니다.

포함을 가져오기로 번역

설정하면 특정 조건이 충족되는 경우 컴파일러는 지시문을 지시문으로 import 처리 #include 합니다. 헤더 파일은 동일한 디렉터리의 파일에 지정 header-units.json 되고 컴파일된 헤더 단위(.ifc파일)를 헤더 파일에 사용할 수 있습니다. 그렇지 않으면 헤더 파일이 일반 #include파일로 처리됩니다. 이 header-units.json 파일은 기호 중복 없이 각각 #include 에 대한 헤더 단위를 빌드하는 데 사용됩니다. 모듈 종속성에 대한 검색 원본과 결합하면 컴파일러는 헤더 단위로 컴파일할 수 있는 모든 헤더 파일을 자동으로 찾습니다. 이 속성은 /translateInclude 컴파일러 옵션을 설정합니다.

디버그 정보 형식

컴파일러에서 생성되는 디버깅 정보 형식을 지정합니다. 이 속성에는 호환되는 링커 설정이 필요합니다. , /Zi/ZI (디버그 정보 형식) 컴파일러 옵션을 설정합니다/Z7.

선택 사항

  • 없음 - 디버깅 정보를 생성하지 않으므로 컴파일이 더 빨라질 수 있습니다.
  • C7 호환 - 프로그램에 대해 생성된 디버깅 정보의 유형과 이 정보가 개체(.obj) 파일 또는 프로그램 데이터베이스(PDB)에 보관되는지 여부를 선택합니다.
  • Program Database - 디버거에 사용할 형식 정보 및 기호 디버깅 정보가 포함된 PDB(프로그램 데이터베이스)를 생성합니다. 기호 디버깅 정보에는 변수 및 함수의 이름과 형식, 줄 번호가 포함됩니다.
  • 편집하며 계속하기 위한 프로그램 데이터베이스 - 앞에서 설명한 대로 편집하며 계속하기 기능을 지원하는 형식으로 프로그램 데이터베이스를 생성합니다.

내 코드 디버깅만 지원

이 컴파일 단위에서 내 코드만 디버깅을 사용하도록 설정하는 지원 코드를 추가합니다. 을 설정합니다 /JMC.

공용 언어 런타임 지원

.NET 런타임 서비스를 사용합니다. 이 스위치는 다른 스위치와 호환되지 않습니다. 자세한 내용은 스위치 제품군에 /clr 대한 설명서를 참조하세요.

선택 사항

  • 공용 언어 런타임 지원 없음 - 공용 언어 런타임 지원 없음
  • 공용 언어 런타임 지원 - 다른 CLR 애플리케이션에서 사용할 수 있는 애플리케이션에 대한 메타데이터를 만듭니다. 또한 애플리케이션에서 다른 CLR 구성 요소의 메타데이터에서 형식 및 데이터를 사용할 수 있습니다.
  • 순수 MSIL 공용 언어 런타임 지원 - MSIL로 컴파일된 네이티브 형식을 포함할 수 있지만 네이티브 실행 코드가 없는 MSIL 전용 출력 파일을 생성합니다.
  • MSIL 공용 언어 런타임 지원 금고 - MSIL 전용(네이티브 실행 코드 없음) 및 확인 가능한 출력 파일을 생성합니다.

Windows 런타임 확장 사용

Windows 런타임 언어 확장을 사용합니다. 을 설정합니다 /ZW.

시작 배너 표시 안 함

컴파일러가 시작될 때 로그온 배너의 표시를 표시하지 않고 컴파일하는 동안 정보 메시지를 표시하지 않습니다.

경고 수준

컴파일러가 코드 오류를 처리하는 수준을 선택합니다. 을 설정합니다 /W0 - /W4.

선택 사항

  • 모든 경고 끄기 - 수준 0은 모든 경고를 사용하지 않도록 설정합니다.
  • Level1 - 수준 1은 심각한 경고를 표시합니다. 수준 1은 명령줄의 기본 경고 수준입니다.
  • 수준 2 - 수준 2는 수준 1보다 덜 심각한 모든 수준 1 경고 및 경고를 표시합니다.
  • 수준 3 - 수준 3은 모든 수준 2 경고와 프로덕션 용도로 권장되는 다른 모든 경고를 표시합니다.
  • 수준 4 - 수준 4는 대부분의 경우 안전하게 무시할 수 있는 모든 수준 3 경고와 정보 경고를 표시합니다.
  • EnableAllWarnings - 기본적으로 사용하지 않도록 설정된 경고를 포함하여 모든 경고를 사용하도록 설정합니다.

경고를 오류로 처리

컴파일러 경고를 오류로 처리합니다. 새 프로젝트의 경우 모든 컴파일에서 사용하는 /WX 것이 가장 좋습니다. 찾기 어려운 코드 결함을 최소화하려면 모든 경고를 해결합니다.

경고 버전

컴파일러의 특정 버전 이후에 도입된 경고를 숨깁니다. 을 설정합니다 /Wv:xx[.yy[.zzzzz]].

진단 형식

진단 메시지에서 열 정보 및 원본 컨텍스트를 사용하여 풍부한 진단 사용하도록 설정합니다.

선택 사항

  • Caret - 진단 메시지에 열 정보를 제공합니다. 또한 잘못된 열을 나타내는 caret를 사용하여 관련 소스 코드 줄을 출력합니다.
  • 열 정보 - 또한 진단이 발급되는 줄 내의 열 번호(해당하는 경우)를 제공합니다.
  • 클래식 - 줄 번호를 사용하여 이전의 간결한 진단 메시지만 출력합니다.

SDL 검사

추가 SDL(보안 개발 수명 주기) 권장 검사; 추가 보안 코드 생성 기능을 사용하도록 설정하고 추가 보안 관련 경고를 오류로 사용하도록 설정합니다. 집합 /sdl, /sdl-.

다중 프로세서 컴파일

다중 프로세서 컴파일을 사용하도록 설정합니다. /MP 컴파일러 옵션을 설정합니다.

주소 삭제기 사용

AddressSanitizer 계측을 사용하여 프로그램을 컴파일하고 연결합니다. 이 속성은 현재 x86 및 x64 대상 빌드를 지원합니다. /fsanitize 컴파일러 옵션을 설정합니다.

C/C++ 최적화 속성

Optimization

코드 최적화 옵션을 선택합니다. 사용자 지정을 선택하여 특정 최적화 옵션을 사용합니다. Sets/Od, , /O2/O1.

선택 사항

  • 사용자 지정 - 사용자 지정 최적화입니다.
  • 사용 안 함 - 최적화를 사용하지 않습니다.
  • 최대 최적화(선호 크기) - /Os /Oy /Ob2 /Gs /GF /Gy
  • 최대 최적화(선호 속도) - /Oi /Ot /Oy /Ob2 /Gs /GF /Gy
  • 최적화(선호 속도) - /Oi /Ot /Oy /Ob2

인라인 함수 확장

빌드에 대한 인라인 함수 확장 수준을 선택합니다. 을 설정합니다 /Ob.

선택 사항

  • 기본값
  • 사용 안 함 - 기본적으로 설정되어 있는 인라인 확장을 사용하지 않도록 설정합니다.
  • __inline - 또는 로 inline__forceinline__inline표시된 함수만 확장합니다. 또는 C++ 멤버 함수에서 클래스 선언 내에 정의됩니다.
  • 모든 적합성 - 컴파일러가 선택하는 함수 또는 __inline 다른 함수로 inline 표시된 함수를 확장합니다. (확장은 컴파일러의 재량에 따라 발생하며 자동 인라인이라고도 합니다.)

내장 함수 사용

내장 함수를 사용하도록 설정합니다. 내장 함수를 사용하면 코드가 더 빠르지만 더 커질 수 있습니다. 을 설정합니다 /Oi.

크기 또는 속도 선호

코드 크기 또는 코드 속도를 선호할지 여부 '전역 최적화'를 설정해야 합니다. 집합 /Ot, /Os.

선택 사항

  • 작은 코드 선호 - 컴파일러에 속도보다 크기를 선호하도록 지시하여 EXE 및 DLL의 크기를 최소화합니다.
  • 빠른 코드 선호 - 컴파일러에 크기보다 속도를 높이도록 지시하여 EXE 및 DLL의 속도를 최대화합니다. (이 값은 기본값입니다.)
  • 둘 다 - 크기 및 속도 최적화가 없습니다.

프레임 포인터 생략

호출 스택에서 프레임 포인터를 생성하지 않습니다.

파이버 금고 최적화 사용

파이버 및 스레드 로컬 스토리지 액세스를 사용할 때 메모리 공간 최적화를 사용하도록 설정합니다. 을 설정합니다 /GT.

전체 프로그램 최적화

연결 시간을 위해 코드 생성을 지연시켜 모듈 간 최적화를 사용하도록 설정합니다. 링커 옵션 링크 시간 코드 생성이 필요합니다. 을 설정합니다 /GL.

C/C++ 전처리기 속성

전처리기 정의

소스 파일에 대한 전처리 기호를 정의합니다.

전처리기 정의 해제

전처리기 정의 해제를 하나 이상 지정합니다. 을 설정합니다 /U.

모든 전처리기 정의 해제

이전에 정의한 모든 전처리기 값을 정의 해제합니다. 을 설정합니다 /u.

표준 포함 경로 무시

컴파일러가 INCLUDE 환경 변수에 지정된 디렉터리에 포함된 파일을 검색하지 못하도록 합니다.

파일로 전처리

C 및 C++ 원본 파일을 전처리하고 전처리된 출력을 파일에 씁니다. 이 옵션은 컴파일을 표시하지 않으며 파일을 생성 .obj 하지 않습니다.

전처리 줄 번호 표시 안 함

#line 지시문 없이 전처리합니다.

메모 유지

소스 코드에서 주석 스트립을 표시하지 않습니다. 에는 전처리 옵션 중 하나 이상을 설정해야 합니다 . 을 설정합니다 /C.

C/C++ 코드 생성 속성

문자열 풀링 사용

컴파일러는 프로그램 이미지에 동일한 문자열의 읽기 전용 복사본을 하나만 만듭니다. 따라서 더 작은 프로그램, 즉 문자열 풀링이라는 최적화가 수행됩니다. /O1, /O2/ZI 자동으로 옵션을 설정합니다 /GF .

최소 다시 빌드 사용

헤더 파일에 저장된 변경된 C++ 클래스 정의를 포함하는 C++ 소스 파일을 다시 컴파일할지 여부를 결정하는 최소 다시 빌드를 .h 사용하도록 설정합니다.

C++ 예외 사용

컴파일러가 사용하는 예외 처리 모델을 지정합니다.

선택 사항

  • 예( SEH 예외 포함 ) - 비동기(구조적) 및 동기(C++) 예외를 catch하는 예외 처리 모델입니다. 을 설정합니다 /EHa.
  • - C++ 예외만 catch하고 extern C 함수가 C++ 예외를 throw하지 않는 것으로 가정하도록 컴파일러에 지시하는 예외 처리 모델입니다. 을 설정합니다 /EHsc.
  • 예( Extern C 함수 사용) - C++ 예외만 catch하고 extern C 함수 가 예외를 throw한다고 가정하도록 컴파일러에 지시하는 예외 처리 모델입니다. 을 설정합니다 /EHs.
  • 아니요 - 예외 처리가 없습니다.

더 작은 형식 검사

디버그 이외의 최적화 형식과 호환되지 않는 더 작은 형식으로 변환하기 위해 검사 사용하도록 설정합니다. 을 설정합니다 /RTCc.

기본 런타임 검사

디버그 이외의 최적화 형식과 호환되지 않는 기본 런타임 오류 검사 사용하도록 설정합니다. Sets, , /RTC1/RTCu./RTCs

선택 사항

  • 스택 프레임 - 스택 프레임 런타임 오류 검사 사용하도록 설정합니다.
  • 초기화되지 않은 변수 - 변수를 초기화하지 않고 사용하는 경우를 보고합니다.
  • 둘 다 (/RTC1, equiv. to /RTCsu) - 해당 ./RTCsu
  • 기본값 - 기본 런타임 검사.

런타임 라이브러리

링크할 런타임 라이브러리를 지정합니다. Sets, , /MD/MTd, /MDd./MT

선택 사항

  • 다중 스레드 - 애플리케이션이 런타임 라이브러리의 다중 스레드 정적 버전을 사용하도록 합니다.
  • 다중 스레드 디버그 - 정의 및 _DEBUG_MT. 또한 이 옵션을 사용하면 링커가 외부 기호를 확인하는 데 사용할 LIBCMTD.lib 수 있도록 컴파일러가 라이브러리 이름을 LIBCMTD.lib.obj 파일에 배치합니다.
  • 다중 스레드 DLL - 애플리케이션이 런타임 라이브러리의 다중 스레드 및 DLL 특정 버전을 사용하도록 합니다. _MT 컴파일러가 라이브러리 이름 MSVCRT.lib를 정의하고 _DLL 파일에 배치하도록 .obj 합니다.
  • 다중 스레드 디버그 DLL - 애플리케이션이 _DEBUG_MT_DLL 런타임 라이브러리의 디버그 다중 스레드 및 DLL 관련 버전을 정의하고 사용하도록 합니다. 또한 컴파일러가 라이브러리 이름을 MSVCRTD.lib.obj 파일에 배치합니다.

구조체 멤버 맞춤

구조체 멤버 맞춤에 대해 1, 2, 4 또는 8 바이트 경계를 지정합니다. 을 설정합니다 /Zp.

선택 사항

  • 1 바이트 - 1 바이트 경계에 구조를 압축합니다. /Zp와 동일합니다.
  • 2바이트 - 2바 이트 경계에 구조를 압축합니다.
  • 4바이트 - 4바 이트 경계에 구조를 압축합니다.
  • 8바이트 - 8바이트 경계(기본값)에 구조를 압축합니다.
  • 16바이트 - 16바이트 경계에 구조를 압축합니다.
  • 기본값 - 기본 맞춤 설정입니다.

보안 확인

보안 검사를 통해 스택 버퍼 오버런, 프로그램의 보안에 대해 일반적으로 시도되는 공격을 검색할 수 있습니다.

선택 사항

  • 보안 검사 사용 안 함 - 보안 검사를 사용하지 않도록 설정합니다. 을 설정합니다 /GS-.
  • 보안 검사 사용 - 보안 검사를 사용하도록 설정합니다. 을 설정합니다 /GS.

제어 흐름 보호

보안 검사 잘못된 코드 블록으로 디스패치하려는 시도를 감지하는 데 도움이 됩니다.

선택 사항

  • - Guard 집합으로 보안 검사를 사용하도록 설정합니다 /guard:cf.
  • 아니요

함수 수준 링크 사용

컴파일러가 개별 함수를 패키지된 함수(COMDAT)의 형태로 패키지할 수 있게 합니다. 편집에 필요하며 계속 작동합니다. 을 설정합니다 /Gy.

병렬 코드 생성 사용

최적화를 사용할 때 컴파일러가 식별된 #pragma loop(hint_parallel[(n)]) 루프에 대한 병렬 코드를 생성할 수 있도록 허용합니다.

향상된 명령 집합 사용

향상된 명령 집합을 지원하는 프로세서에서 찾은 지침을 사용하도록 설정합니다. 예를 들어 SSE, SSE2, AVX 및 AVX2는 IA-32를 향상시킵니다. 또한 AVX 및 AVX2는 x64로 향상되었습니다. 현재 /arch:SSE/arch:SSE2 x86 아키텍처를 빌드할 때만 사용할 수 있습니다. 옵션이 지정되지 않은 경우 컴파일러는 SSE2를 지원하는 프로세서에서 찾은 지침을 사용합니다. 에서 향상된 지침을 사용하지 않도록 설정할 /arch:IA32수 있습니다. 자세한 내용은 다음을 참조하세요./arch (x86), /arch (x64), /arch (ARM64)/arch (ARM).

선택 사항

  • SIMD 확장 스트리밍 - 스트리밍 SIMD 확장. 설정 /arch:SSE
  • 스트리밍 SIMD 확장 2 - 스트리밍 SIMD 확장 2. 설정 /arch:SSE2
  • 고급 벡터 확장 - 고급 벡터 확장. 설정 /arch:AVX
  • 고급 벡터 확장 2 - 고급 벡터 확장 2. 설정 /arch:AVX2
  • 향상된 명령 없음 - 향상된 명령이 없습니다. 설정 /arch:IA32
  • 설정 되지 않음 - 설정되지 않음.

부동 소수점 모델

부동 소수점 모델을 설정합니다. Sets, , /fp:fast/fp:strict./fp:precise

선택 사항

  • Precise - 기본값입니다. 같음 및 같지 않음에 대한 부동 소수점 테스트의 일관성을 향상시킵니다.
  • Strict - 가장 엄격한 부동 소수점 모델입니다. /fp:strictfp_contract OFF가 되고 fenv_access ON이 됩니다. /fp:except 는 암시적이며 명시적으로 지정하여 /fp:except-비활성화할 수 있습니다. 함께 /fp:except-/fp:strict 사용하는 경우 예외 이벤트를 존중하지 않고 엄격한 부동 소수점 의미 체계를 적용합니다.
  • Fast - 대부분의 경우 가장 빠른 코드를 만듭니다.

부동 소수점 예외 사용

신뢰할 수 있는 부동 소수점 예외 모델입니다. 예외는 트리거된 직후에 발생합니다. 을 설정합니다 /fp:except.

핫패치 가능 이미지 만들기

핫패칭이 켜지면 컴파일러는 핫 패치에 필요한 대로 각 함수의 첫 번째 명령이 2바이트인지 확인합니다. 을 설정합니다 /hotpatch.

스펙터 완화

CVE 2017-5753에 대한 스펙터 완화. 을 설정합니다 /Qspectre.

선택 사항

  • 사용 - CVE 2017-5753에 대한 Spectre 완화 기능 사용
  • 사용 안 함 - 설정 안 함

C/C++ 언어 속성

언어 확장 사용 안 함

언어 확장을 표시하지 않거나 사용하도록 설정합니다. 을 설정합니다 /Za.

WChar_t 기본 제공 형식으로 처리

지정하면 형식 wchar_t 은 매핑되는 것과 동일한 방식으로 매핑 __wchar_t 되는 네이티브 형식이 short__int16됩니다. /Zc:wchar_t는 기본적으로 설정되어 있습니다.

For 루프 범위의 강제 규칙

Microsoft 확장을 사용하여 문 루프에 for 대한 표준 C++ 동작을 구현합니다. 설정 /Za, /Ze (언어 확장 사용 안 함. /Zc:forScope는 기본적으로 설정되어 있습니다.

참조되지 않은 코드 및 데이터 제거

지정된 경우 컴파일러는 더 이상 참조되지 않은 코드 및 데이터에 대한 기호 정보를 생성하지 않습니다.

형식 변환 규칙 적용

C++11 표준에 따라 캐스트 작업의 결과로 rvalue 참조 형식을 식별하는 데 사용됩니다.

런타임 형식 정보 사용

런타임에 C++ 개체 형식을 검사 코드(런타임 형식 정보 또는 RTTI)를 추가합니다. 집합 /GR, /GR-.

MP 지원 열기

OpenMP 2.0 언어 확장을 사용하도록 설정합니다. 을 설정합니다 /openmp.

C++ 언어 표준

컴파일러에서 사용하도록 설정하는 C++ 언어 표준을 결정합니다. 기본값은 표준 옵션을 설정하지 않으므로 컴파일러는 기본 C++14 설정을 사용합니다. 특정 값을 선택하면 해당 /std 컴파일러 옵션이 set.md)입니다.

선택 사항

  • 기본값(ISO C++14 표준)
  • ISO C++14 표준(/std:c++14)
  • ISO C++17 표준(/std:c++17)
  • ISO C++20 표준(/std:c++20)
  • 미리 보기 - 최신 C++ 작업 초안의 기능(/std:c++latest)

C 언어 표준

컴파일러에서 사용하도록 설정하는 C 언어 표준을 결정합니다. 기본값은 표준 옵션을 설정하지 않으므로 컴파일러는 기본 레거시 MSVC 설정을 사용합니다. 특정 값을 선택하면 해당 /std 컴파일러 옵션이 set.md)입니다.

선택 사항

  • 기본값(레거시 MSVC)
  • ISO C11 표준(/std:c11)
  • ISO C17(2018) 표준(/std:c17)

규칙 모드

규칙 모드를 사용하거나 표시하지 않습니다. 을 설정합니다 /permissive-.

실험적 C++ 표준 라이브러리 모듈 사용

C++ 모듈 TS 및 표준 라이브러리 모듈에 대한 실험적 지원.

ISO C++23 표준 라이브러리 모듈 빌드

Visual Studio 17.6부터 이 속성이 활성화되고 C++ 언어 표준 이 설정된 /std:c++latest경우 Visual C++ 프로젝트는 ISO C++23 표준 라이브러리 모듈을 자동으로 찾아 빌드합니다. 이렇게 하면 import std C++ 코드를 사용하거나 import std.compat C++ 코드를 사용할 수 있습니다.

C/C++ 미리 컴파일된 헤더 속성

미리 컴파일된 헤더 만들기/사용

빌드하는 동안 미리 컴파일된 헤더를 만들거나 사용하도록 설정합니다. 집합 /Yc, /Yu.

선택 사항

  • 만들기 - 컴파일러가 특정 지점에서 컴파일 상태를 나타내는 미리 컴파일된 헤더(.pch) 파일을 만들도록 지시합니다.
  • 사용 - 현재 컴파일에서 미리 컴파일된 기존 헤더(.pch) 파일을 사용하도록 컴파일러에 지시합니다.
  • 미리 컴파일된 헤더를 사용하지 않음 - 미리 컴파일된 헤더를 사용하지 않습니다.

미리 컴파일된 헤더 파일

미리 컴파일된 헤더 파일을 만들거나 사용할 때 사용할 헤더 파일 이름을 지정합니다. 집합 /Yc, /Yu.

미리 컴파일된 헤더 출력 파일

미리 컴파일된 생성된 헤더 파일의 경로 또는 이름을 지정합니다. 을 설정합니다 /Fp.

C/C++ 출력 파일 속성

특성 원본 확장

원본 파일에 삽입된 확장된 특성을 사용하여 목록 파일을 만듭니다. 을 설정합니다 /Fx.

어셈블러 출력

어셈블리 언어 출력 파일의 콘텐츠를 지정합니다. Sets, , /FAs/FAc, /FAcs./FA

선택 사항

  • 목록 없음 - 목록이 없습니다.
  • 어셈블리 전용 목록 - 어셈블리 코드; .asm
  • 컴퓨터 코드를 사용하여 어셈블리 - 컴퓨터 및 어셈블리 코드; .cod
  • 소스 코드를 사용하여 어셈블리 - 소스 및 어셈블리 코드; .asm
  • 어셈블리, 컴퓨터 코드 및 소스 - 어셈블리, 컴퓨터 코드 및 소스 코드; .cod

어셈블러 목록에 유니코드 사용

출력 파일을 UTF-8 형식으로 만듭니다.

ASM 목록 위치

ASM 목록 파일의 상대 경로 또는 이름을 지정합니다. 파일 또는 디렉터리 이름이 될 수 있습니다. 을 설정합니다 /Fa.

개체 파일 이름

기본 개체 파일 이름을 재정의할 이름을 지정합니다. 파일 또는 디렉터리 이름일 수 있습니다. 을 설정합니다 /Fo.

프로그램 데이터베이스 파일 이름

컴파일러에서 생성된 PDB 파일의 이름을 지정합니다. 또한 필요한 컴파일러 생성 IDB 파일의 기본 이름을 지정합니다. 파일 또는 디렉터리 이름이 될 수 있습니다. 을 설정합니다 /Fd.

XML 설명서 파일 생성

컴파일러가 XML 설명서 주석 파일을 생성해야 되도록 지정합니다(.) XDC). 을 설정합니다 /doc.

XML 설명서 파일 이름

생성된 XML 설명서 파일의 이름을 지정합니다. 파일 또는 디렉터리 이름이 될 수 있습니다. 이름을> 설정합니다/doc:<.

C/C++ 정보 속성 찾아보기

찾아보기 정보 사용

파일의 찾아보기 정보 .bsc 수준을 지정합니다. 을 설정합니다 /FR.

정보 파일 찾아보기

브라우저 정보 파일의 선택적 이름을 지정합니다. 이름을> 설정합니다/FR<.

외부 포함

꺾쇠 괄호에 포함된 파일을 외부로 처리

꺾쇠 괄호에 포함된 파일을 외부로 처리할지 여부를 지정합니다. 컴파일러 옵션을 설정하려면 이 속성을 Yes/external:anglebrackets 설정합니다.

외부 헤더 경고 수준

컴파일러가 외부 헤더의 코드 오류에 대해 얼마나 엄격한지 선택합니다. 이 속성은 /external:Wn 컴파일러 옵션을 설정합니다. 이 값이 프로젝트 경고 수준 또는 기본값 상속으로 설정된 경우 다른 /external 옵션은 무시됩니다.

외부 헤더의 템플릿 진단

템플릿 인스턴스화 체인에서 경고 수준을 평가할지 여부를 지정합니다. 컴파일러 옵션을 설정하려면 이 속성을 Yes/external:templates- 설정합니다.

외부 헤더에 대한 코드 분석 사용 안 함

외부 헤더에 대한 코드 분석을 사용하지 않도록 설정합니다. /analyze:external- 컴파일러 옵션을 설정합니다.

외부 헤더에 대한 분석 규칙 집합

외부 헤더에 대한 코드 분석 규칙 집합 재정의를 지정합니다. 지정하지 않으면 코드 분석 설정이 사용됩니다. /analyze:external:ruleset path 컴파일러 옵션을 설정합니다.

C/C++ 고급 속성

호출 규칙

애플리케이션에 대한 기본 호출 규칙을 선택합니다(함수로 재정의할 수 있음). Sets, , /Gz/Gr, /Gv./Gd

선택 사항

  • __cdecl- C++ 멤버 함수와 표시된 __stdcall 함수 또는 __fastcall함수를 제외한 모든 함수에 대한 호출 규칙을 지정 __cdecl 합니다.
  • __fastcall- C++ 멤버 함수와 표시된 __cdecl 함수 또는 __stdcall함수를 제외한 모든 함수에 대한 호출 규칙을 지정 __fastcall 합니다. 모든 __fastcall 함수에는 프로토타입이 있어야 합니다.
  • __stdcall- C++ 멤버 함수와 표시된 __cdecl 함수 또는 __fastcall함수를 제외한 모든 함수에 대한 호출 규칙을 지정 __stdcall 합니다. 모든 __stdcall 함수에는 프로토타입이 있어야 합니다.
  • __vectorcall- C++ 멤버 함수 및 표시된 __fastcall__cdecl함수를 제외한 모든 함수에 대한 호출 규칙을 지정 __vectorcall 합니다__stdcall. 모든 __vectorcall 함수에는 프로토타입이 있어야 합니다.

다음으로 컴파일

원본 파일에 대한 컴파일 언어 옵션을 선택합니다. , /interface /internalPartition또는 /exportHeader 옵션을 설정합니다/TC. /TP

선택 사항

  • 기본값 - 기본값입니다.
  • C 코드로 컴파일(/TC) - 지정된 소스 파일을 C 코드로 컴파일합니다. 기본적으로 확장이 있는 .c 파일은 C로 컴파일됩니다.
  • C++ 코드로 컴파일(/TP) - 지정된 소스 파일을 C++ 코드로 컴파일합니다. 기본적으로 확장명이 없거나 확장명이 없는 .c.ixx.cppm.h모든 원본 파일은 C++로 컴파일됩니다.
  • C++ 모듈 코드로 컴파일(/interface) - 지정된 소스 파일을 C++ 모듈 코드로 컴파일합니다. 기본적으로 확장이 있는 .ixx.cppm 파일은 C++ 모듈 코드로 컴파일됩니다.
  • C++ 모듈 내부 파티션으로 컴파일(/internalPartition) - 지정된 원본 파일을 C++ 모듈 내부 파티션으로 컴파일합니다.
  • C++ 헤더 단위로 컴파일(/exportHeader) - 지정된 소스 파일을 C++ 헤더 단위로 컴파일합니다. 기본적으로 확장 프로그램이 있거나 확장이 .h 없는 파일은 헤더 단위로 컴파일됩니다.

특정 경고 사용 안 함

지정된 경고 번호를 사용하지 않도록 설정합니다. 세미콜론으로 구분된 목록에 경고 번호를 넣습니다. 숫자를> 설정합니다/wd<.

강제 포함 파일

하나 이상의 강제 포함 파일입니다. 이름을> 설정합니다/FI<.

강제 #using 파일

하나 이상의 강제 #using 파일을 지정합니다. 이름을> 설정합니다/FU<.

포함 표시

컴파일러 출력으로 포함 파일 목록을 생성합니다. 을 설정합니다 /showIncludes.

전체 경로 사용

진단 메시지에서 전체 경로를 사용합니다. 을 설정합니다 /FC.

기본 라이브러리 이름 생략

파일에 기본 라이브러리 이름을 .obj 포함하지 않습니다. 을 설정합니다 /Zl.

내부 컴파일러 오류 보고

참고 항목

이 옵션은 사용되지 않습니다. Windows Vista부터 오류 보고는 WER(Windows 오류 보고) 설정에 의해 제어됩니다.

특정 경고를 오류로 처리

n이 컴파일러 경고인 경우 특정 컴파일러 경고를 오류로 처리합니다.

추가 옵션

추가 옵션.