__forceinline 关键字
2012-03-31 09:43
232 查看
C++提供了内联函数,目的是为了提高函数的执行效率。内联函数在函数声明前面加上关键字inline 就可以了 如:inline int FunctionOne(int x); 在VC++中可使用另一关键字_forceinline 代替inline 关键字.这个关键字将命令编译器跳过一般的ROI 分析(Return On Investment --一种编程缩略语),将所对应的代码强行内联.在有写时候,编译器会拒绝将一个函数内联,使用这个关键字,用户只得到一个编译警告,就可强行内联. 在使用内联函数时,是由编译器决定它们是按普通函数处理还是将调用函数部分用实际的函数体代码替换。不允许将递归函数进行内联(VC++可进行编译器选项设置,允许内联扩展到一定深度) 下面情况不宜使用内联: (1)如果函数体内的代码比较长,使用内联将导致内存消耗代价较高。 (2)如果函数体内出现循环,那么执行函数体内代码的时间要比函数调用的开销大。 一个好的编译器将会根据函数的定义体,自动地取消不值得的内联(这进一步说明了inline不应该出现在函数的声明中)。 |
相关文章推荐
- 关于函数内联及相关关键字inline,__inline,__forceinline的详细说明
- [转]__forceinline关键字
- [转]inline,__inline,__forceinline 关于函数内联及相关关键字的详细说明
- forceinline关键字
- __forceinline 关键字
- C++中的inline关键字
- inline 关键字
- Java中利用final关键字inline编译优化真的有效吗?
- C/C++关键字static,const,inline,define,typedef
- C/C++中关键字static,const,inline,define,typedef的用法及其意义
- (C++)inline关键字
- c/c++关键字static,const,inline,define,typedef
- C/C++关键字static,const,inline,define,typedef
- C/C 关键字static,const,inline,define,typedef
- C/C++中static,const,inline三种关键字的总结(参照网络)
- C++ 关键字 inline
- C++中的inline关键字
- C++中的inline关键字
- C/C++中static,const,inline三种关键字详细总结
- 《Essential C++》笔记四、采用关键字inline带来的错误