阅读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
- 阅读Sofia-SIP源码二 源代码中包含自身项目中头文件方式
- 阅读Sofia-SIP源码三 源码文件结构
- 阅读Sofia-SIP源码五 源码文件文档化的注释
- 阅读Sofia-SIP源码一 全局宏定义
- 阅读Sofia-SIP源码 - su模块 - su.h
- 阅读Sofia-SIP源码 - su模块 - su_log.c/su_log.h
- 阅读Sofia-SIP源码 - su模块 - su.c
- 阅读Sofia-SIP源码 - su模块 - su_debug.h/su_module_debug.h
- 阅读Sofia-SIP源码 - su模块 - su_default_log.c/su_global_log.c
- 阅读Sofia-SIP源码 - su模块 - su_alloc.c/h
- freeswitch和sofia-sip中关于sip的消息机制
- sofia sip开发六 寻找开发过程中遇到sofia sip库使用问题的解决方法
- Sofia-SIP辅助文档一 - Sofia-SIP源代码树结构
- Makefile中头文件包含
- 阅读Sofia-SIP源码 - su模块 - su_configure.h/su_config.h/su_types.h
- sofia sip开发二 编译库
- Sofia-SIP
- WTL头文件中包含的类
- Core Animation
- 从技术走向管理——新任管理者必修课
- java中使用实例变量初始化器
- ASP.NET MVC5&微信公众平台整合开发实战(响应式布局、JQuery Mobile,Windows Azure、微信核心开发)
- shell中的date
- 阅读Sofia-SIP源码二 源代码中包含自身项目中头文件方式
- 退出 android 应用程序
- PHP操作MongoDB--学习笔记
- 与CSDN客服交流解决“所属分类”无法使用,并访问CSDN速度明显加快
- 去掉手机按钮颜色
- groupRectangles函数详解
- 从管理走向领导——管理者卓越领导力塑造课
- 列出一份ASCII 表省地到处找了!
- UVA 10972 - RevolC FaeLoN(边-双连通分量)