您的位置:首页 > 其它

inline与__inline__的区别

2015-07-16 11:07 309 查看
inline和__inline__应该是这样的:

ISO C90没有inline;但ISO C++里面有。

GCC感觉C90没有inline不爽,就在自己的C标准加上了inline。

因为GCC通过-ansi可以支持C90,也就是没有inline,所以当有inline,但使用-ansi的话,无法通过编译。

为解决这个问题,又搞了个__inline__,让它的功能等于inline,但可以在-ansi的时候使用。

有趣的是,后来C99加上了inline。这样的话,如果GCC支持C99的话,自然就支持inline。这样__inline__就尴尬了。

但GCC没打算再去支持C99。所以__inline__还得留着(-ansi)。

内核代码不会带着-ansi来编译。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: