阅读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宏之外,包含自身项目中其他头文件的方式都采用检测某个宏的条件指令来包含。几乎项目所有的头文件中都是按照这种方式来包含头文件,只有极少数例外。我想这样的方式是为了减少预处理时间加快整体的编译速度。这应该是一个非常好的编程规范,值得学习。

 

你可能感兴趣的:(源代码,voip,SIP)