Skip to main content

IAR Embedded Workbench for Arm 9.70.x

inline

このセクションの内容:
構文
#pragma inline[=forced|=never|=no_body|=forced_no_body]
パラメータ

パラメータなし

inlineキーワードと同じ結果になります。

forced

コンパイラのヒューリスティックを無効にし、強制的にインライン化します。

never

コンパイラのヒューリスティックを無効にして、関数がインライン化されないようにします。

no_body

inlineキーワードと同じような効果が得られますが、生成した関数には本文がありません。

forced_no_body

コンパイラのヒューリスティックを無効にし、強制的にインライン化します。生成した関数には本文がありません。

説明

#pragma inlineを使用して、ディレクティブの直後に定義された関数をC++のインライン動作に従ってインライン化するようコンパイラに指示します。

#pragma inline=forcedまたは#pragma inline=forced_no_bodyを指定すると、常に定義された関数がインライン化されます。再帰など何らかの理由でコンパイラが関数をインライン化できない場合、ワーニングメッセージが出力されます。

インライン化は通常、最適化レベル「高」でのみ実行されます。#pragma inline=forcedまたは#pragma inline=forced_no_bodyを指定すると、すべての最適化レベルの関数をインラインし、再帰などの要因によりエラーになります。

関連項目

インライン関数.