inline-level、Ob

関数のインライン展開のレベルを指定します。

IDE オプション

Windows: [Optimization (最適化)] > [Inline Function Expansion (インライン関数の展開)]

Linux: [Optimization (最適化)] > [Inline Function Expansion (インライン関数の展開)]

Mac OS: [Optimization (最適化)] > [Inline Function Expansion (インライン関数の展開)]

アーキテクチャー

IA-32 アーキテクチャー、インテル(R) 64 アーキテクチャー、IA-64 アーキテクチャー

構文

Linux* および Mac OS*: -inline-level=n
Windows*:  /Obn

引数

n    関数のインライン展開のレベル。設定可能な値は、0、1、および 2 です。

デフォルト

-inline-level=2 または Ob2 O2 オプションが指定されている場合、またはデフォルトで有効な場合のデフォルトです。Windows システムでは、O3 オプションが指定されている場合のデフォルトでもあります。
-inline-level=0 または Ob0 -O0 オプション (Linux および Mac OS) または /Od オプション (Windows) が指定されている場合のデフォルトです。

説明

このオプションは、関数のインライン展開のレベルを指定します。インライン・プロシージャーは、一部のプログラムのランタイム・パフォーマンスを大幅に向上します。

オプション 説明
-inline-level=0 または Ob0 ユーザー定義関数のインライン展開を無効にします。文関数は常にインライン展開されます。
-inline-level=1 または Ob1 inline キーワードまたは inline 属性が指定された場合にインライン展開を有効にします。また、C++ 言語に従ってインライン展開を有効にします。
-inline-level=2 または Ob2 コンパイラーの判断で、関数のインライン展開を有効にします。

代替オプション

Linux: -Ob (これは古いオプションです)
Mac OS: なし
Windows: なし