内联vs __inline vs __inline__ vs __forceinline?

时间:2010-05-04 12:24:37

标签: c++ inline keyword

这四个内联(关键)字之间有什么区别?

inline__inline__inline____forceinline

3 个答案:

答案 0 :(得分:83)

inline 关键字,在C ++和C99中。

__inline是特定于供应商的关键字(例如MSVC),用于C中的内联函数,因为C89没有它。

__inline____inline类似,但来自另一组编译器。

__forceinline是另一个特定于供应商的(主要是MSVC)关键字,它将比__inline提示更多地强制内联函数(例如内联,即使它导致更糟糕的代码)。

GCC和clang中也有__attribute__((always_inline))

答案 1 :(得分:20)

答案 2 :(得分:8)