首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

inline?解决办法

2012-03-12 
inline?inline好像和预编译语句差不多,也是在调用处直接展开,不会引起栈的操作,因而可以提高程序的执行速

inline?
inline好像和预编译语句差不多,也是在调用处直接展开,不会引起栈的操作,因而可以提高程序的执行速度,但是这样,如果该函数在多处都调用了,则会显著增加程序的代码量。只有要求执行时间,同时调用地方又不多的函数,才使用该关键字修饰,对吧?不知道这样理解对不对?
        registor类型的传参可以提高执行速度,但是registor个数有限,但是对编程者来说,何时使用registor传参数,是所有的参数都使用registor,还是部分使用registor.如下:
        void   fun(register   int   a,   int   b)
        void   fun(int   a,   int   b)
        void   fun(register   int   a,   registor   int   b)
        还有对默认使用寄存器传参的编译平台,还有没有必要使用这个关键字?
        请教了!


[解决办法]
inline和宏的最大区别就是inline提供了类型安全检查
inline编译期,宏预编译期,也就说明了前面的情况
当然inline最好体积小,否则不如去掉inline
一般编译器会对变量进行优化,有些使用较频繁的变量会被优化成register

热点排行