反思引入头文件和宏定义

 宏的作用之一是:保证用户自定义头文件和系统定义头文件在编译源程序时只引入一次。

比如有一个用户自定义头文件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__

通过定义宏,这样在编译源程序时,就能够保证用户自定义头文件和系统定义头文件只能被引入一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值