static inline 和 extern inline
Linus是这样解释的:
-
"static inline" means "we have to have this function, if you use it
but don't inline it, then make a static version of it in this
compilation unit" -
"extern inline" means "I actually _have_ an extern for this function,
but if you want to inline it, here's the inline-version"