5.67 C99 の inline 関数

C99 のキーワード inline は、 inline で修飾される関数の呼び出しをインライン展開することをコンパイラに示します。

例えば、
inline int max(int a, int b)
{
    return (a > b) ? a : b;
}
コンパイラは、必要な場合にのみ inline で修飾される関数をインライン展開します。関数のインライン展開がパフォーマンスに悪影響を及ぼす場合は、コンパイラではこのキーワードを無視できます。

__inline キーワードは C90 では使用できません。

C99 での inline のセマンティクスは、標準 C++ での inline キーワードのセマンティクスとは異なります。
関連する概念
5.59 C99 の新しい言語機能
5.61 C99 および C90 の // コメント
5.62 C99 の複合リテラル
5.63 C99 の指定済みのイニシャライザ
5.64 C99 の 16 進浮動小数点数
5.65 C99 のフレキシブル配列メンバ
5.66 C99 の __func__ 定義済み識別子
5.68 C99 および C90 の long long データ型
5.69 C99 の使用する引数の数が一定でないマクロ
5.70 C99 の宣言とステートメントの混合
5.71 C99 の選択および反復ステートメントの新しいブロック有効範囲
5.72 C99 の _Pragma 処理命令
5.73 C99 の制限付きポインタ
5.75 C99 の複素数
5.20 インライン関数
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.