The semantics of __forceinline
are exactly the same as those of the C++
inline
keyword. The compiler attempts to inline a function
qualified as __forceinline
, regardless of its characteristics. However, the
compiler does not inline a function if doing so causes problems. For example, a recursive
function is inlined into itself only once.
__forceinline
is a storage class qualifier. It does not affect the type of
a function.
Note
This keyword has the function attribute equivalent
__attribute__((always_inline))
.