/vmm, /vms, /vmv(일반적인 용도 표시)

/vmb, /vmg(표시 메서드)표시 메서드로 선택할 때 사용됩니다. 이러한 옵션은 아직 발생하지 않은 클래스 정의의 상속 모델을 나타냅니다.

/vmm
/vms
/vmv

설명

다음 표에서는 이 옵션에 대해 설명합니다.

Option

설명

/vmm

클래스 멤버에 대한 포인터의 가장 일반적인 표시를 여러 상속을 사용하는 것으로 지정합니다.

상응하는 inheritance 키워드#pragma pointers_to_members에 대한 인수는 multiple_inheritance입니다.

이 표시는 단일 상속에 필요한 표시보다 큽니다.

멤버에 대한 포인터가 선언된 클래스 정의의 상속 모델이 가상인 경우, 컴파일러는 오류를 생성합니다.

/vms

클래스의 멤버에 대한 포인터의 가장 일반적인 표시를 상속을 사용하지 않거나 단일 상속을 사용하는 것으로 지정합니다.

상응하는 inheritance 키워드#pragma pointers_to_members에 대한 인수는 single_inheritance입니다.

이 표시는 클래스의 멤버에 대한 포인터의 표시 중 가장 작은 표시입니다.

멤버에 대한 포인터가 선언된 클래스 정의의 상속 모델이 다중 또는 가상인 경우, 컴파일러는 오류를 생성합니다.

/vmv

클래스의 멤버에 대한 포인터의 가장 일반적인 표시를 가상 상속을 사용하는 것으로 지정합니다. 오류는 생성되지 않으며 기본값입니다.

상응하는 inheritance 키워드#pragma pointers_to_members에 대한 인수는 virtual_inheritance입니다.

이 옵션은 포인터를 해석하기 위해 다른 옵션보다 큰 포인터와 추가 코드가 필요합니다.

이들 상속 모델 옵션 중 하나를 지정하면, 상속 형식 또는 클래스 전에 포인터가 선언되는지 아니면 후에 선언되는지에 상관 없이 지정된 모델은 클래스 멤버에 대한 모든 포인터에 사용됩니다. 따라서, 항상 단일 상속 클래스를 사용하는 경우에는 /vms 옵션으로 컴파일하여 코드 크기를 줄일 수 있습니다. 그러나, 데이터 표현이 매우 커지더라도 가장 일반적인 경우를 사용하려면 /vmv 옵션으로 컴파일합니다.

Visual Studio 개발 환경에서 이 컴파일러 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 방법: 프로젝트 속성 페이지 열기를 참조하십시오.

  2. C/C++ 폴더를 클릭합니다.

  3. 명령줄 속성 페이지를 클릭합니다.

  4. 추가 옵션 상자에 컴파일러 옵션을 입력합니다.

프로그래밍 방식으로 이 컴파일러 옵션을 설정하려면

참고 항목

참조

/vmb, /vmg(표시 메서드)

컴파일러 옵션

컴파일러 옵션 설정