include自身

来源:互联网 发布:淘宝主图设计 编辑:程序博客网 时间:2024/04/29 12:20

作者:吴建凰  wjh_2010@163.com

如需转载请声明出处:http://write.blog.csdn.net/postlist


最近写代码遇到这样的麻烦事,文件A中需要多次保护文件B,如下:

#ifdef MFH_DLL_DEF
#undef MFH_DLL_DEF
#endif
#define MFH_DLL_DEF  MFH_DLL_FUN_TYPE 

#include "B.h" //一处


///////////////////////////////////////////////////////////////////////////////////

//导出函数声明
#ifdef MFH_DLL_DEF
#undef MFH_DLL_DEF
#endif
#define MFH_DLL_DEF  MFH_DLL_FUN_DEC 

#include "B.h" //二处


上面举例中两次包含了B.h,这样就会出现两个头文件A.h和B.h,但我又想只用一个头文件,B.h的内容只写一遍,以便B.h内容的修改。

如何修改呢?C/C++的强大条件编译给我们提供了条件,如下定义即可解决该类问题。


#ifdef MFH_CONFIGFS_FUN

B.h的内容

#endif


#ifndef MFH_CONFIGFS_H
#define MFH_CONFIGFS_H
#define MFH_CONFIGFS_FUN


A.h的内容

#endif


以上宏定义看懂了没,希望对你有帮助。


2 0
原创粉丝点击