Chinaunix首页 | 论坛 | 博客
  • 博客访问: 107735
  • 博文数量: 41
  • 博客积分: 2520
  • 博客等级: 少校
  • 技术积分: 440
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-22 16:25
文章分类

全部博文(41)

文章存档

2010年(41)

我的朋友

分类: LINUX

2010-01-27 11:14:42

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来编译,所以不需要考虑上面的问题。
这样的话,inline更可读,就建议用inline。 
阅读(2370) | 评论(0) | 转发(0) |
0

上一篇:trivial bash skill

下一篇:INT_MAX_MIN

给主人留下些什么吧!~~