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

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

#ifndef NUA_H
/** Defined when  has been included. */
#define NUA_H

#ifndef SU_WAIT_H
#include 
#endif


#ifndef URL_H
#include 
#endif

#ifndef SIP_H
#include 
#endif

#ifndef NUA_TAG_H
#include 
#endif

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

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

 

你可能感兴趣的:(sofia,sip)