ACE 类库 (config-all.h )

/* -*- C++ -*- */
//========================================================
/**
* @file config-all.h
* config-all.h v1.0
* @author daihw
* 定义常用宏和常量
*/
//========================================================
#ifndef ACE_CONFIG_ALL_H
#define ACE_CONFIG_ALL_H
#include "pre.h"
#include "config.h"
// 根据宏定义程序编译一次
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif
/*ACE_LACKS_PRAGMA_ONCE */
//=====================================================================
// 完成组播组过滤设计到RFC 3376 ,这里仅仅是向一个连接组传递流甚至组地址没
// 有绑定,默认情况下我们关闭这个选项,虽然大多数操作系统,除了Windows 和
//Solaris 或许会锁定完成组播过滤。
//=====================================================================
#if !defined (ACE_LACKS_PERFECT_MULTICAST_FILTERING)
#   define ACE_LACKS_PERFECT_MULTICAST_FILTERLING 0
#endif
//=====================================================================
// 启用/禁用 特征,默认启用
//=====================================================================
#if ! defined (ACE_HAS_POSITION_INDEPENDENT_POINTERS)
#   define ACE_HAS_POSITION_INDEPENDENT_POINTERS 1
#endif
//=====================================================================
//   RCSID
//=====================================================================
// 默认情况下,包含 RCS ID 。
#if !defined (ACE_USE_RCSID)
#    define ACE_USE_RCSID 1
#endif
#if (defined (ACE_USE_RCSID) && (ACE_USE_RCSID !=0 ))
# if ! defined (ACE_RCSID)
    // 下面代码实现的目的:
     //1. 以静态 char*的格式定义RCS ID 字符变量 ,所以 不能在连接阶段被外部符号复制。
     //2. 通过RCS ID 生成一个独特的名字防止同名引用。
     //3. 避免 "variable declared and never used."的警告。
#    define ACE_RCSID(path,file,id)/
     static inline const char* get_rcsid_ ## path ## _ ## file (const char*) /
     { /
         return id; /
     }/
         static const char* rcsid_ ## path ## _ ## file= /
         get_rcsid_ ## path ## _ ## file (rcsid_ ## path ## _ ## file );
#endif /*#if ! defined (ACE_RCSID) */
#else
// 不再需要RCS ID 字符串
#if defined (ACE_RCSID)
# undef ACE_RCSID
# endif /*# if defined (ACE_RCSID)*/
# define ACE_RCSID (path, file,id) /* noop */
#endif /* #if (defined (ACE_USE_RCSID) && (ACE_USE_RCSID !=0 )) */
//=======================================================================
//   INLINE
//
//   定义内联函数或内两文件的宏句柄
//=======================================================================
#if defined (ACE_LACKS_INLINE_FUNCTIONS) && !defined (ACE_NO_INLINE)
#   define ACE_NO_INLINE
#endif
// ACE 内联已经明确的被声明无效。在ACE内部通过不定义__ACE_INLINE__来完成。
#if defined (ACE_NO_INLINE)
#undef __ACE_INLINE__
#endif
#if defined (__ACE_INLINE__)
#    define ACE_INLINE inline
#    if !defined (ACE_HAS_INLINED_OSCALLS)
#        define    ACE_HAS_INLINED_OSCALLS
#    endif /*!ACE_HAS_INLINED_OSCALLS */
#else
#    define ACE_INLINE
#endif /* __ACE_INLINE__ */
#if !defined (ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS)
#    define ACE_INLINE_FOR_GNUC ACE_INLINE
#else
#    define ACE_INLINE_FOR_GNUC
#endif /* ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS */
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值