__forceinline 关键字

转载 2012年03月31日 09:43:21

C++提供了内联函数,目的是为了提高函数的执行效率。内联函数在函数声明前面加上关键字inline 就可以了
    如:inline int FunctionOne(int x);

    在VC++中可使用另一关键字_forceinline 代替inline 关键字.这个关键字将命令编译器跳过一般的ROI 分析(Return On Investment --一种编程缩略语),将所对应的代码强行内联.在有写时候,编译器会拒绝将一个函数内联,使用这个关键字,用户只得到一个编译警告,就可强行内联.

    在使用内联函数时,是由编译器决定它们是按普通函数处理还是将调用函数部分用实际的函数体代码替换。不允许将递归函数进行内联(VC++可进行编译器选项设置,允许内联扩展到一定深度)

    下面情况不宜使用内联:

    (1)如果函数体内的代码比较长,使用内联将导致内存消耗代价较高。  
    (2)如果函数体内出现循环,那么执行函数体内代码的时间要比函数调用的开销大。
    一个好的编译器将会根据函数的定义体,自动地取消不值得的内联(这进一步说明了inline不应该出现在函数的声明中)。  


__forceinline 内联函数

C++提供了内联函数,目的是为了提高函数的执行效率。内联函数在函数声明前面加上关键字inline 就可以了如:inline int FunctionOne(int x);在VC++中可使用另一关键字_...

inline, __inline, __forceinline MSDN翻译

inline, __inline, __forceinline Visual Studio 2010 Other Versions 0...
  • ssbelle
  • ssbelle
  • 2012年07月08日 10:05
  • 397

inline,__inline,__forceinline的详细说明

转自:http://www.cnblogs.com/xuemaxiongfeng/articles/2464850.html __inline 关键字建议编译器在合理的情况下内联编译...

java PDF关键字定位

  • 2017年12月14日 16:11
  • 2KB
  • 下载

js中的关键字和保留字

  • 2017年11月06日 22:19
  • 47KB
  • 下载

C语言的const关键字

C语言的const关键字与指针搭配使用 C语言的const关键字与指针搭配使用,const是C语言中保留的一个关键字,它用来限定一个变量是只读的,即不可变的。...

LSDYNA关键字理解

  • 2017年12月05日 15:56
  • 9.79MB
  • 下载

JAVA final 、super 关键字以及继承关系中父类与子类实例变量初始化的 理解

1,final 修饰符修饰变量、方法、类 时有什么作用? ①final 修饰变量:该变量被赋初值后,不能对它重新赋值 ②final 修饰方法:此方法不能重写,即父类中某方法被final修饰,在子类...
  • hapjin
  • hapjin
  • 2015年10月20日 22:27
  • 1802
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:__forceinline 关键字
举报原因:
原因补充:

(最多只允许输入30个字)