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바이트 경계에 구조를 압축합니다.
- 기본값 - 기본 맞춤 설정입니다.
보안 확인
보안 검사를 통해 스택 버퍼 오버런, 프로그램의 보안에 대해 일반적으로 시도되는 공격을 검색할 수 있습니다.
선택 사항
제어 흐름 보호
보안 검사 잘못된 코드 블록으로 디스패치하려는 시도를 감지하는 데 도움이 됩니다.
선택 사항
- 예 - 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:strict
는fp_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이 컴파일러 경고인 경우 특정 컴파일러 경고를 오류로 처리합니다.
추가 옵션
추가 옵션.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기