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

来源:互联网 发布:淘宝钢铁侠模型 编辑:程序博客网 时间:2024/05/05 05:40

打开任意一个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 0
原创粉丝点击