다음을 통해 공유


/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 개발 환경에서 이 컴파일러 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.

  2. 구성 속성>C/C++>최적화 속성 페이지를 선택합니다.

  3. 인라인 함수 확장 속성을 수정합니다.

/Ob3 옵션은 인라인 함수 확장 속성에서 사용할 수 없습니다. /Ob3을 설정하려면:

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.

  2. 구성 속성>C/C++>명령줄 속성 페이지를 선택합니다.

  3. 추가 옵션에 /Ob3입력합니다.

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

참고 항목

/O 옵션(코드 최적화)
MSVC 컴파일러 옵션
MSVC 컴파일러 명령줄 구문