1、关键字 __forceinline 强制编译器内联编译 C 或 c++ 函数。
2、
“__forceinline ”的语义与c++内联关键字的语义完全相同。编译器尝试内联函数而不考虑它的特征。
在某些情况下,编译器可能会选择忽略_forceinline关键字,而不是内联函数。例如:
递归函数永远不会内联到自身中。
使用alloca()的函数从不内联
__forceinline 是一个存储类限定符。它不影响函数的类型。
3、这个关键字的函数属性等价于__attribute__((always_inline))。
4、例程
__forceinline static int max(int x, int y)
{
return x > y ? x : y; // always inline if possible
}