反思引入头文件和宏定义
来源:互联网 发布:js判断滚动条到底部 编辑:程序博客网 时间:2024/05/17 06:09
宏的作用之一是:保证用户自定义头文件和系统定义头文件在编译源程序时只引入一次。
比如有一个用户自定义头文件a.h,它的内容是:
---------------------
#ifndef __BTDISCOVERYAPPVIEW_H__
#define __BTDISCOVERYAPPVIEW_H__
#include <coecntrl.h>
#include <btmanclient.h>
#include <btextnotifiers.h>
#include <aknlists.h>
#include "Reporter.h"
#include "BTDiscoverer.h"
#endif
--------------------
a.h这个头文件我们在b.h中进行引入,同时也引入一个头文件<coecntrl.h>即b.h的内容为:
--------------------
#include "a.h"
#include <coecntrl.h>
--------------------
而我们在a.h中已经引入了<coecntrl.h>,那么在b.h中又引入一次<coecntrl.h>会不会导致这个头文件在编译程序时被引入两次那?
答案是否定的,因为在系统头文件<coecntrl.h>中,也定义了一个宏:
#if !defined(__COECNTRL_H__)
#define __COECNTRL_H__
通过定义宏,这样在编译源程序时,就能够保证用户自定义头文件和系统定义头文件只能被引入一次。
- 反思引入头文件和宏定义
- 有关宏定义和头文件
- 头文件宏定义
- 宏定义头文件
- 宏定义头文件
- js引入头文件
- 引入头文件
- C++ 头文件 宏定义
- Cocos2dx常用的一些宏定义和头文件
- VC\VS开发工具,引入库文件和头文件
- 防止头文件和全局变量重复定义
- 在windows 和 linux下引入hash_set、hash_map头文件
- 在windows 和 linux下引入hash_set、hash_map头文件
- 在windows 和 linux下引入hash_set、hash_map头文件
- VS2008引入头文件包含目录和lib库目录
- GetPrivateProfileString和WritePrivateProfileString头文件引入的注意点
- OC中头文件的引入和引用
- C语言头文件引入
- SoftIce 4.3.2 Ropped From DS 3.2 and IceExt 0.70
- STL(1)
- 确定基类有虚析购函数
- 应聘Java笔试时可能出现问题(答案不一定正确)
- 事件
- 反思引入头文件和宏定义
- NAMESPACE
- 在ASP.net中保存/取出图片入/从SQL数据库
- 人月神话:软件界面交互和易用性改进总结
- 关于ehomesolution.cn的处理办法
- SQL备忘-基本控制语句复习及@@ROWCOUNT陷阱纪实
- 我也要写blog
- Life tip
- 伟大的c