C/C++ 속성(Linux C++)
Linux 지원은 Visual Studio 2017 이상에서 사용할 수 있습니다.
일반
속성 | 설명 | 선택 사항 |
---|---|---|
추가 포함 디렉터리 | 포함 경로에 추가할 하나 이상의 디렉터리를 지정합니다. 세미콜론을 사용하여 여러 디렉터리를 구분합니다. (-I[path]) | |
디버그 정보 형식 | 컴파일러에서 생성되는 디버깅 정보 형식을 지정합니다. | 없음 - 디버깅 정보를 생성하지 않으므로 컴파일이 더 빨라질 수 있습니다. 최소 디버그 정보 - 최소한의 디버그 정보를 생성합니다. 전체 디버그 정보(DWARF2) - DWARF2 디버그 정보를 생성합니다. |
개체 파일 이름 | 기본 개체 파일 이름을 재정의할 이름을 지정합니다. 파일 또는 디렉터리 이름일 수 있습니다. (-o [name]). | |
경고 수준 | 컴파일러가 코드 오류를 처리하는 수준을 선택합니다. 다른 플래그를 추가 옵션에 직접 추가합니다. (/w, /Weverything) | 모든 경고 해제 - 모든 컴파일러 경고를 사용하지 않도록 설정합니다. 모든 경고 사용 - 기본적으로 사용하지 않도록 설정된 경고를 포함한 모든 경고를 사용하도록 설정합니다. |
경고를 오류로 처리 | 모든 컴파일러 경고를 오류로 처리합니다. 새 프로젝트인 경우 모든 컴파일에서 /Werror를 사용하는 것이 좋습니다. 모든 경고를 해결하여 찾기 어려운 코드 오류를 최소화합니다. | |
C 추가 경고 | 추가 경고 메시지 집합을 정의합니다. | |
C++ 추가 경고 | 추가 경고 메시지 집합을 정의합니다. | |
자세한 정보 표시 모드 사용 | 자세한 정보 표시 모드를 사용하는 경우 빌드를 진단하기 위해 자세한 정보를 출력합니다. | |
C 컴파일러 | 원격 시스템에서 C 소스 파일을 컴파일하는 동안 호출할 프로그램 또는 C 컴파일러 경로를 지정합니다. | |
C++ 컴파일러 | 원격 시스템에서 C++ 소스 파일을 컴파일하는 동안 호출할 프로그램 또는 C++ 컴파일러 경로를 지정합니다. | |
컴파일 시간 제한 | 원격 컴파일 시간 제한(밀리초)입니다. | |
개체 파일 복사 | 원격 시스템에서 로컬 컴퓨터로 컴파일한 개체 파일을 복사할지 여부를 지정합니다. | |
최대 병렬 컴파일 작업 | 컴파일하는 동안 병렬로 생성할 프로세스의 수입니다. 기본값은 1입니다. WSL(Linux용 Windows 하위 시스템) 버전 1을 사용하는 경우 한도는 64입니다. | |
아키텍처 유효성 검사 | 프로젝트 대상 플랫폼이 원격 시스템과 일치하는 확인할지 여부를 지정합니다. | |
주소 삭제기 사용 | 메모리 해제 후 사용 같은 런타임 메모리 문제를 찾고 범위 초과 검사를 수행하는 빠른 메모리 오류 탐지기인 주소 삭제기를 사용하여 프로그램을 컴파일합니다. |
Optimization
속성 | 설명 | 선택 사항 |
---|---|---|
Optimization | 애플리케이션의 최적화 수준을 지정합니다. | 사용자 지정 - 사용자 지정 최적화입니다. 사용 안 함 - 최적화를 사용하지 않습니다. 크기 최소화 - 크기에 맞게 최적화합니다. 속도 최대화 - 속도에 맞게 최적화합니다. 전체 최적화 - 고가의 최적화입니다. |
엄격한 앨리어싱 | 가장 엄격한 별칭 지정 규칙을 가정합니다. 한 형식의 개체는 다른 형식의 개체와 동일한 주소를 가질 수 없는 것으로 간주됩니다. | |
루프 언롤 | 더 큰 코드 크기를 희생하는 대신 실행된 분기의 수를 줄여 애플리케이션 속도를 높이도록 루프를 언롤합니다. | |
링크 타임 최적화 | 최적화 프로그램이 애플리케이션에 있는 개체 파일을 살펴볼 수 있도록 허용하여 절차 간 최적화를 사용하도록 설정합니다. | |
프레임 포인터 생략 | 호출 스택에서 프레임 포인터를 생성하지 않습니다. | |
공용 블록 없음 | 일반 블록으로 생성하는 대신 개체 파일의 데이터 섹션에서 초기화되지 않은 전역 변수까지 할당합니다. |
전처리기
속성 | 설명 |
---|---|
전처리기 정의 | 소스 파일에 대한 전처리 기호를 정의합니다. (-D) |
전처리기 정의 해제 | 전처리기 정의 해제를 하나 이상 지정합니다. (-U [macro]) |
모든 전처리기 정의 해제 | 이전에 정의한 모든 전처리기 값을 정의 해제합니다. (-undef) |
포함 표시 | 컴파일러 출력으로 포함 파일 목록을 생성합니다. (-H) |
코드 생성
속성 | 설명 | 선택 사항 |
---|---|---|
위치 독립적 코드 | 공유 라이브러리에서 사용할 PIC(위치 독립적 코드)를 생성합니다. | |
정적은 스레드로부터 안전합니다. | 로컬 정적의 스레드 안전 초기화를 위해 C++ ABI에 지정된 루틴을 사용하도록 추가 코드를 내보냅니다. | 아니요 - 스레드로부터 안전한 정적을 사용하지 않도록 설정합니다. 예 - 스레드로부터 안전한 정적을 사용하도록 설정합니다. |
부동 소수점 최적화 | IEEE-754 준수를 완화하여 부동 소수점 최적화를 사용합니다. | |
인라인 메서드 숨김 | 사용하도록 설정되면 인라인 메서드의 확장 복사본이 private extern 으로 선언됩니다. |
|
기본적으로 숨겨진 기호 | 모든 기호는 __attribute 매크로를 사용하여 명시적으로 내보내기에 대해 표시되지 않는 한 private extern 으로 선언됩니다. |
|
C++ 예외 사용 | 컴파일러가 사용하는 예외 처리 모델을 지정합니다. | 아니요 - 예외 처리를 사용하지 않도록 설정합니다. 예 - 예외 처리를 사용하도록 설정합니다. |
언어
속성 | 설명 | 선택 사항 |
---|---|---|
런타임 형식 정보 사용 | 런타임에 C++ 개체의 형식(런타임 형식 정보)을 검사하는 코드를 추가합니다. (frtti, fno-rtti) | |
C 언어 표준 | C 언어 표준을 결정합니다. | 기본 C89 - C89 언어 표준입니다. C99 - C99 언어 표준입니다. C11 - C11 언어 표준입니다. C99(GNU 언어) - C99(GNU 언어) 언어 표준입니다. C11(GNU 언어) - C11(GNU 언어) 언어 표준입니다. |
C++ 언어 표준 | C++ 언어 표준을 결정합니다. | 기본값 C++03 - C++03 언어 표준입니다. C++11 - C++11 언어 표준입니다. C++14 - C++14 언어 표준입니다. C++03(GNU 언어) - C++03(GNU 언어) 언어 표준입니다. C++11(GNU 언어) - C++11(GNU 언어) 언어 표준입니다. C++14(GNU 언어) - C++14(GNU 언어) 언어 표준입니다. |
고급
속성 | 설명 | 선택 사항 |
---|---|---|
다음으로 컴파일 | .c 및 .cpp 파일에 대한 컴파일 언어 옵션을 선택합니다. (-x c, -x c++) | 기본값 - .c 또는 .cpp 확장명에 따라 감지됩니다. C 코드로 컴파일 - C 코드로 컴파일합니다. C++ 코드로 컴파일 - C++ 코드로 컴파일합니다. |
강제 포함 파일 | 하나 이상의 강제 포함 파일 지정(-include [name]) |