/O1, /O2(크기 최소화, 속도 최대화)
파일의 크기와 속도에 영향을 주는 미리 정의된 옵션 집합을 선택합니다.
/O1
/O2
설명
다음 표에서는 /O1 및 /O2에 대해 설명합니다.
Option |
포함되는 옵션 |
주석 |
---|---|---|
/O1(크기 최소화) |
/Og /Os /Oy /Ob2 /Gs /GF /Gy |
대부분의 경우에 가장 작은 코드를 만듭니다. |
/O2(속도 최대화) |
/Og /Oi /Ot /Oy /Ob2 /Gs /GF /Gy |
대부분의 경우에 가장 빠른 코드를 만듭니다. 릴리스 빌드의 기본 설정입니다. |
/O1 및 /O2를 사용하면 반환 값을 기반으로 스택에서 복사 생성자와 소멸자를 삭제하는 명명된 반환 값 최적화도 활성화됩니다. 다음 샘플을 참고하십시오. Test 함수는 복사 생성자나 소멸자를 만들지 않습니다. 생성자에 출력 문을 추가하면 프로그램을 실행할 때 소멸자와 복사 생성자에 미치는 명명된 반환 값 최적화의 영향을 확인할 수 있습니다. Visual C++의 명명된 반환 값 최적화에 대한 자세한 내용은 https://go.microsoft.com/fwlink?linkid=55900을 참조하십시오.
// O1_O2_NRVO.cpp
// compile with: /O1
struct A {
A() {}
~A() {}
A(const A& aa) {}
};
A Test() {
A a;
return a;
}
int main() {
A aa;
aa = Test();
}
x86 Specific
이 옵션에는 프레임 포인터 생략 옵션(/Oy) 사용이 포함되어 있습니다.
END x86 Specific
Visual Studio 개발 환경에서 이 컴파일러 옵션을 설정하려면
프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 방법: 프로젝트 속성 페이지 열기를 참조하십시오.
C/C++ 폴더를 클릭합니다.
최적화 속성 페이지를 클릭합니다.
최적화 속성을 변경합니다.
프로그래밍 방식으로 이 컴파일러 옵션을 설정하려면
- Optimization을 참조하십시오.