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
.
Choices
- 없음 - 디버깅 정보를 생성하지 않으므로 컴파일이 더 빨라질 수 있습니다.
- C7 호환 - 프로그램에 대해 생성된 디버깅 정보의 유형과 이 정보가 개체(.obj) 파일 또는 프로그램 데이터베이스(PDB)에 보관되는지 여부를 선택합니다.
- Program Database - 디버거에 사용할 형식 정보 및 기호 디버깅 정보가 포함된 PDB(프로그램 데이터베이스)를 생성합니다. 기호 디버깅 정보에는 변수 및 함수의 이름과 형식, 줄 번호가 포함됩니다.
- 편집하며 계속하기 위한 프로그램 데이터베이스 - 앞에서 설명한 대로 편집하며 계속하기 기능을 지원하는 형식으로 프로그램 데이터베이스를 생성합니다.
내 코드 디버깅만 지원
이 컴파일 단위에서 내 코드만 디버깅을 사용하도록 설정하는 지원 코드를 추가합니다. 을 설정합니다 /JMC
.
공용 언어 런타임 지원
.NET 런타임 서비스를 사용합니다. 이 스위치는 다른 스위치와 호환되지 않습니다. 자세한 내용은 스위치 제품군에 /clr
대한 설명서를 참조하세요.
Choices
- 공용 언어 런타임 지원 없음 - 공용 언어 런타임 지원 없음
- 공용 언어 런타임 지원 - 다른 CLR 애플리케이션에서 사용할 수 있는 애플리케이션에 대한 메타데이터를 만듭니다. 또한 애플리케이션에서 다른 CLR 구성 요소의 메타데이터에서 형식 및 데이터를 사용할 수 있습니다.
- 순수 MSIL 공용 언어 런타임 지원 - MSIL로 컴파일된 네이티브 형식을 포함할 수 있지만 네이티브 실행 코드가 없는 MSIL 전용 출력 파일을 생성합니다.
- 안전한 MSIL 공용 언어 런타임 지원 - MSIL 전용(네이티브 실행 코드 없음) 및 확인 가능한 출력 파일을 생성합니다.
Windows 런타임 확장 사용
Windows 런타임 언어 확장을 사용합니다. 을 설정합니다 /ZW
.
시작 배너 표시 안 함
컴파일러가 시작될 때 로그온 배너의 표시를 표시하지 않고 컴파일하는 동안 정보 메시지를 표시하지 않습니다.
경고 수준
컴파일러가 코드 오류를 처리하는 수준을 선택합니다. 을 설정합니다 /W0
- /W4
.
Choices
- 모든 경고 끄기 - 수준 0은 모든 경고를 사용하지 않도록 설정합니다.
- Level1 - 수준 1은 심각한 경고를 표시합니다. 수준 1은 명령줄의 기본 경고 수준입니다.
- 수준 2 - 수준 2는 수준 1보다 덜 심각한 모든 수준 1 경고 및 경고를 표시합니다.
- 수준 3 - 수준 3은 모든 수준 2 경고와 프로덕션 용도로 권장되는 다른 모든 경고를 표시합니다.
- 수준 4 - 수준 4는 대부분의 경우 안전하게 무시할 수 있는 모든 수준 3 경고와 정보 경고를 표시합니다.
- EnableAllWarnings - 기본적으로 사용하지 않도록 설정된 경고를 포함하여 모든 경고를 사용하도록 설정합니다.
경고를 오류로 처리
컴파일러 경고를 오류로 처리합니다. 새 프로젝트의 경우 모든 컴파일에서 사용하는 /WX
것이 가장 좋습니다. 찾기 어려운 코드 결함을 최소화하려면 모든 경고를 해결합니다.
경고 버전
컴파일러의 특정 버전 이후에 도입된 경고를 숨깁니다. 을 설정합니다 /Wv:xx[.yy[.zzzzz]]
.
진단 형식
진단 메시지의 열 정보 및 원본 컨텍스트를 사용하여 풍부한 진단을 사용하도록 설정합니다.
Choices
- Caret - 진단 메시지에 열 정보를 제공합니다. 또한 잘못된 열을 나타내는 caret를 사용하여 관련 소스 코드 줄을 출력합니다.
- 열 정보 - 또한 진단이 발급되는 줄 내의 열 번호(해당하는 경우)를 제공합니다.
- 클래식 - 줄 번호를 사용하여 이전의 간결한 진단 메시지만 출력합니다.
SDL 검사
추가 SDL(보안 개발 수명 주기) 권장 검사; 에는 추가 보안 코드 생성 기능을 사용하도록 설정하고 추가 보안 관련 경고를 오류로 사용할 수 있습니다. 집합 /sdl
, /sdl-
.
다중 프로세서 컴파일
다중 프로세서 컴파일을 사용하도록 설정합니다. /MP
컴파일러 옵션을 설정합니다.
주소 삭제기 사용
AddressSanitizer 계측을 사용하여 프로그램을 컴파일하고 연결합니다. 이 속성은 현재 x86 및 x64 대상 빌드를 지원합니다. /fsanitize
컴파일러 옵션을 설정합니다.
C/C++ 최적화 속성
Optimization
코드 최적화 옵션을 선택합니다. 사용자 지정을 선택하여 특정 최적화 옵션을 사용합니다. Sets/Od
, , /O2
/O1
.
Choices
- 사용자 지정 - 사용자 지정 최적화입니다.
- 사용 안 함 - 최적화를 사용하지 않습니다.
- 최대 최적화(선호 크기) -
/Os /Oy /Ob2 /Gs /GF /Gy
- 최대 최적화(선호 속도) -
/Oi /Ot /Oy /Ob2 /Gs /GF /Gy
- 최적화(선호 속도) -
/Oi /Ot /Oy /Ob2
인라인 함수 확장
빌드에 대한 인라인 함수 확장 수준을 선택합니다. 을 설정합니다 /Ob
.
Choices
- 기본값
- 사용 안 함 - 기본적으로 설정되어 있는 인라인 확장을 사용하지 않도록 설정합니다.
- __inline - 또는 로
inline
__forceinline
__inline
표시된 함수만 확장합니다. 또는 C++ 멤버 함수에서 클래스 선언 내에 정의됩니다. - 모든 적합성 - 컴파일러가 선택하는 함수 또는
__inline
다른 함수로inline
표시된 함수를 확장합니다. (확장은 컴파일러의 재량에 따라 발생하며 자동 인라인이라고도 합니다.)
내장 함수 사용
내장 함수를 사용하도록 설정합니다. 내장 함수를 사용하면 코드가 더 빠르지만 더 커질 수 있습니다. 을 설정합니다 /Oi
.
크기 또는 속도 선호
코드 크기 또는 코드 속도를 선호할지 여부 '전역 최적화'를 설정해야 합니다. 집합 /Ot
, /Os
.
Choices
- 작은 코드 선호 - 컴파일러에 속도보다 크기를 선호하도록 지시하여 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++ 예외 사용
컴파일러가 사용하는 예외 처리 모델을 지정합니다.
Choices
- 예( SEH 예외 포함 ) - 비동기(구조적) 및 동기(C++) 예외를 catch하는 예외 처리 모델입니다. 을 설정합니다
/EHa
. - 예 - C++ 예외만 catch하고 extern C 함수가 C++ 예외를 throw하지 않는 것으로 가정하도록 컴파일러에 지시하는 예외 처리 모델입니다. 을 설정합니다
/EHsc
. - 예( Extern C 함수 사용) - C++ 예외만 catch하고 extern C 함수 가 예외를 throw한다고 가정하도록 컴파일러에 지시하는 예외 처리 모델입니다. 을 설정합니다
/EHs
. - 아니요 - 예외 처리가 없습니다.
더 작은 형식 검사
디버그 이외의 최적화 형식과 호환되지 않는 더 작은 형식으로의 변환을 확인할 수 있습니다. 을 설정합니다 /RTCc
.
기본 런타임 검사
디버그 이외의 최적화 형식과 호환되지 않는 기본 런타임 오류 검사를 사용하도록 설정합니다. Sets, , /RTC1
/RTCu
./RTCs
Choices
- 스택 프레임 - 스택 프레임 런타임 오류 검사를 사용하도록 설정합니다.
- 초기화되지 않은 변수 - 변수를 초기화하지 않고 사용하는 경우를 보고합니다.
- 둘 다 (/RTC1, equiv. to /RTCsu) - 해당 .
/RTCsu
- 기본값 - 기본 런타임 검사입니다.
런타임 라이브러리
링크할 런타임 라이브러리를 지정합니다. Sets, , /MD
/MTd
, /MDd
./MT
Choices
- 다중 스레드 - 애플리케이션이 런타임 라이브러리의 다중 스레드 정적 버전을 사용하도록 합니다.
- 다중 스레드 디버그 - 정의 및
_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
.
Choices
- 1 바이트 - 1 바이트 경계에 구조를 압축합니다.
/Zp
와 동일합니다. - 2바이트 - 2바 이트 경계에 구조를 압축합니다.
- 4바이트 - 4바 이트 경계에 구조를 압축합니다.
- 8바이트 - 8바이트 경계(기본값)에 구조를 압축합니다.
- 16바이트 - 16바이트 경계에 구조를 압축합니다.
- 기본값 - 기본 맞춤 설정입니다.
보안 확인
보안 검사를 통해 스택 버퍼 오버런, 프로그램의 보안에 대해 일반적으로 시도되는 공격을 검색할 수 있습니다.
Choices
제어 흐름 보호
보안 검사를 통해 잘못된 코드 블록으로 디스패치하려는 시도를 감지할 수 있습니다.
Choices
- 예 - 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)
.
Choices
- 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
Choices
- Precise - 기본값입니다. 같음 및 같지 않음에 대한 부동 소수점 테스트의 일관성을 향상시킵니다.
- Strict - 가장 엄격한 부동 소수점 모델입니다.
/fp:strict
는fp_contract
OFF가 되고fenv_access
ON이 됩니다./fp:except
는 암시적이며 명시적으로 지정하여/fp:except-
비활성화할 수 있습니다. 함께/fp:except-
/fp:strict
사용하는 경우 예외 이벤트를 존중하지 않고 엄격한 부동 소수점 의미 체계를 적용합니다. - Fast - 대부분의 경우 가장 빠른 코드를 만듭니다.
부동 소수점 예외 사용
신뢰할 수 있는 부동 소수점 예외 모델입니다. 예외는 트리거된 직후에 발생합니다. 을 설정합니다 /fp:except
.
핫패치 가능 이미지 만들기
핫패칭이 켜지면 컴파일러는 핫 패치에 필요한 대로 각 함수의 첫 번째 명령이 2바이트인지 확인합니다. 을 설정합니다 /hotpatch
.
스펙터 완화
CVE 2017-5753에 대한 스펙터 완화. 을 설정합니다 /Qspectre
.
Choices
- 사용 - 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)입니다.
Choices
- 기본값(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)입니다.
Choices
- 기본값(레거시 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
.
Choices
- 만들기 - 컴파일러가 특정 지점에서 컴파일 상태를 나타내는 미리 컴파일된 헤더(
.pch
) 파일을 만들도록 지시합니다. - 사용 - 현재 컴파일에서 미리 컴파일된 기존 헤더(
.pch
) 파일을 사용하도록 컴파일러에 지시합니다. - 미리 컴파일된 헤더를 사용하지 않음 - 미리 컴파일된 헤더를 사용하지 않습니다.
미리 컴파일된 헤더 파일
미리 컴파일된 헤더 파일을 만들거나 사용할 때 사용할 헤더 파일 이름을 지정합니다. 집합 /Yc
, /Yu
.
미리 컴파일된 헤더 출력 파일
미리 컴파일된 생성된 헤더 파일의 경로 또는 이름을 지정합니다. 을 설정합니다 /Fp
.
C/C++ 출력 파일 속성
특성 원본 확장
원본 파일에 삽입된 확장된 특성을 사용하여 목록 파일을 만듭니다. 을 설정합니다 /Fx
.
어셈블러 출력
어셈블리 언어 출력 파일의 콘텐츠를 지정합니다. Sets, , /FAs
/FAc
, /FAcs
./FA
Choices
- 목록 없음 - 목록이 없습니다.
- 어셈블리 전용 목록 - 어셈블리 코드;
.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
Choices
__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
Choices
- 기본값 - 기본값입니다.
- 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이 컴파일러 경고인 경우 특정 컴파일러 경고를 오류로 처리합니다.
추가 옵션
추가 옵션.