阅读Sofia-SIP源码二 源代码中包含自身项目中头文件方式

打开任意一个Sofia-SIP源码中的头文件,都可以看到如下类似的包含自身项目Sofia-SIP中其他头文件的方式(这里选取的是nua.h头文件):

#ifndef NUA_H
/** Defined when <sofia-sip/nua.h> has been included. */
#define NUA_H

#ifndef SU_WAIT_H
#include <sofia-sip/su_wait.h>
#endif


#ifndef URL_H
#include <sofia-sip/url.h>
#endif

#ifndef SIP_H
#include <sofia-sip/sip.h>
#endif

#ifndef NUA_TAG_H
#include <sofia-sip/nua_tag.h>
#endif

除了自身文件所需的NUA_H宏之外,包含自身项目Sofia-SIP中其他头文件的方式都采用检测某个宏的条件指令来包含。头文件卫哨宏非常有规律。由头文件名全部转换成大写字母(头文件名中的下划线字符不做转换)外加下划线和大写字母H组成。

几乎项目所有的头文件中都是按照这种方式来包含头文件,只有极少数例外。我想这样的方式是为了减少预处理时间加快整体的编译速度。这应该是一个非常好的编码规范,值得学习。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值