这四个内联(关键字)词有什么区别?
inline,__inline,__inline__,__forceinline。
Answers:
inline是所述关键字,在C ++和C99。
__inline是C中内联函数的特定于供应商的关键字(例如MSVC),因为C89没有它。
__inline__与__inline另一套编译器相似,但来自另一套编译器。
__forceinline是另一个特定于供应商的(主要是MSVC)关键字,与__inline提示相比,它将对内联函数施加更大的作用力(例如,内联,即使导致更糟糕的代码)。
__attribute__((always_inline))在GCC和clang中也有。
对于Visual Studio编译器,这意味着:
内联-建议编译器内联代码
__forceinline-覆盖内置的编译器优化并生成内联代码
有关更多详细信息,请参见:http : //msdn.microsoft.com/zh-cn/library/z8y1yy88%28VS.71%29.aspx