5.25 関数のインライン展開に関するコンパイラの決定をオーバーライドすることの制限

関数のインライン展開を有効または無効にすることはできますが、どのような場合に関数をインライン展開すると実際的であるかに関してコンパイラが下した判断はオーバーライドできません。

たとえば、インライン展開することが不適切であるとコンパイラによって見なされた関数を強制的にインライン展開することはできません。--forceinline または __forceinline を使用した場合でも、コンパイラは、可能な場合にのみ関数をインライン展開します。
関連する概念
5.20 インライン関数
5.21 関数のインライン展開に関するコンパイラによる決定
5.22 関数の自動インライン展開とスタティック関数
5.23 インライン関数と、リンク時における未使用のアウトオブライン関数の削除
5.24 関数の自動インライン展開とマルチファイルのコンパイル
5.26 コンパイラモードとインライン関数
5.27 C++ および C90 モードでのインライン関数
5.28 C99 モードでのインライン関数
5.29 インライン関数とデバッグ
関連する参考文書
8.15 --autoinline、--no_autoinline
8.84 --forceinline
10.6 __forceinline
10.8 __inline
8.107 --inline、--no_inline
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.