#pragma [no_]inline (funcname[, funcname])
指定したルーチン名のインライン化を制御します。このプラグマはファイル全体に対して有効です。このプラグマでは、大域インライン化制御のみが許可され、呼び出し元固有の制御は許可されません。
#pragma inline は、現在のファイル内の呼び出しのうち、プラグマ内でリストされているルーチンのリストに一致するものをインライン化するヒントを、コンパイラに提供します。このヒントは、状況によっては無視されることがあります。たとえば、関数本体が別のモジュールに存在していて、crossfile オプションが使用されていない場合などです。
#pragma no_inline は、現在のファイル内の呼び出しのうち、プラグマにリストされたルーチンのリストに一致するものをインライン化しないというヒントを、コンパイラに提供します。
次の例に示すように、#pragma inline および #pragma no_inline は、関数がプロトタイプまたは空のパラメータリストで宣言されたあとでのみ許可されます。
static void foo(int); static int bar(int, char *); #pragma inline(foo, bar)
詳細は、コンパイラオプション -xldscope、-xinline、-xO、および -xipo の説明を参照してください。