/Ob(인라인 함수 확장)
함수의 인라인 확장을 제어합니다. 기본적으로 최적화할 때 확장은 자동 인라인이라고도 하는 모든 함수에 대한 컴파일러의 재량에 따라 발생합니다.
구문
/Ob{0|1|2|3}
/Ob{0|1|2}
인수
0
/Od 아래의 기본값입니다. 인라인 확장을 사용하지 않도록 설정합니다.
1
인라인, __inline 또는 __forceinline 표시된 함수 또는 클래스 선언에 정의된 C++ 멤버 함수의 확장만 허용합니다.
2
/O1 및 /O2 아래의 기본값입니다. 컴파일러에서 인라인 처리 없이 명시적으로 표시되지 않은 함수를 확장할 수 있습니다.
3
이 옵션은 /Ob2보다 더 적극적인 인라인을 지정하지만 제한은 동일합니다. /Ob3 옵션은 Visual Studio 2019부터 사용할 수 있습니다.
설명
컴파일러는 인라인 확장 옵션과 키워드를 제안으로 처리합니다. 함수가 인라인으로 확장된다는 보장은 없습니다. 인라인 확장을 사용하지 않도록 설정할 수 있지만 키워드를 사용하는 경우에도 컴파일러가 특정 함수를 인라인으로 강제 적용 __forceinline
할 수는 없습니다.
인라인 확장에 대한 후보로 고려에서 함수를 제외하려면 __declspec(noinline) 또는 #pragma auto_inline(off) 및 #pragma auto_inline(on) 지시문으로 표시된 지역을 사용할 수 있습니다. 컴파일러에 인라인 힌트를 제공하는 다른 방법에 대한 자세한 내용은 #pragma 내장 지시문을 참조하세요.
참고 항목
프로파일링 테스트에서 수집된 정보는 /Ob, /Os 또는 /Ot를 지정했기 때문에 적용되지 않는 최적화를 재정의합니다. 자세한 내용은 프로필 기반 최적화를 참조하세요.
Visual Studio 개발 환경에서 이 컴파일러 옵션을 설정하려면
프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.
구성 속성>C/C++>최적화 속성 페이지를 선택합니다.
인라인 함수 확장 속성을 수정합니다.
/Ob3 옵션은 인라인 함수 확장 속성에서 사용할 수 없습니다. /Ob3을 설정하려면:
프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.
구성 속성>C/C++>명령줄 속성 페이지를 선택합니다.
추가 옵션에 /Ob3을 입력합니다.
프로그래밍 방식으로 이 컴파일러 옵션을 설정하려면
- InlineFunctionExpansion을(를) 참조하세요.