다음을 통해 공유


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])