这四个内联(关键字)词有什么区别?
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