inline 是啥?
static inline void list_add(struct list_head *new, struct list_head *head)这个inline是干嘛用的? inline is an optimize option. it will be expanded by compiler like a macro does. so save some call time and stack operation costs. but the inline should be correctly used. 没明白 so do u know how macro works? a more detail description about inline
http://new-brunswick.net/workshop/c++/faq/inline-functions.html 明白了谢谢cheungming 不过有时举个例子会更好其实我没听懂你说了啥在看过那个链接里的例子才明白 hehe, i lazy to input too much.
:wink: 是C++中用来定义的内联函数的关键字,跟宏差不多吧!!!
:roll: c has it as well.
121
GNU C 扩展了,所以GNC C 里也有inline指令。但是inline和宏是不一样的,虽然我没有实验过,但是如果您能看汇编像看小说那样,反编译一下就知道了。
是C++中用来定义的内联函数的关键字,跟宏差不多吧!!!
:roll: yes, i only say "like a macro". it is not a macro. 根宏的区别就是inline可以做真正的检查,而宏不行,根据我自己的经验有两种编译错非常烦,一种是宏一种是模板(实际上是从宏进化过来的),而inline有什么错调起来很容易,好像这也是介绍inline进来的原因吧。 从外观上看,速度我想是最明显的差别吧? 不会吧,因为使用inline都是些很小且会被反复使用的函数,也就是说,算法优化不会在inline里进行(作为编程原则),如果有速度的明显差异,那介绍inline进来就没意义了。据我所知,经典教材里都说的是帮助编译器进行检查排错的,当然,我从来没有编过那么苛刻的时间要求的程序。
页:
[1]
2