ACE默认实现是高效的证据之ACE_INLINE编译宏

结论

无论ACE 组件默认编译设置,还是基于ACE 的应用程序,__ACE_INLINE__的编译宏默认打开!

ACE默认实现是高效的

__ACE_INLINE__具体影响

ACE的源代码中大量充斥着*.inl文件,这些文件将在__ACE_INLINE__宏的指导下进行内容展开

  • 使能

作为内联函数,直接展开在*.h头文件中

  • 关闭

函数直接展开在*.cpp实现文件中,是否最终被内联,取决于编译、集成方式

证据链

ACE编译

在编译输出中能够直接见到__ACE_INLINE__

...

g++ ... -D__ACE_INLINE__ ...

...

应用程序

#include <ace/Log_Msg.h>

int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
{

  ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%D %M %P hello world for ACE , thead id: %u ...\n")));

  #ifdef  __ACE_INLINE__
      ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%D %M %P ACE's app compiling __ACE_INLINE__ macro is configured!\n")));
  #else
      ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%D %M %P ACE's app compiling __ACE_INLINE__ macro is not configured!\n")));
  #endif


  return 0;
}

通过条件编译证明

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值