标签:style blog sp 文件 div 2014 on 问题 log
我们在写大型项目的时候,文件多,关系复杂。往往会引起头文件重复定义的问题。
什么叫头文件重复定义呢?
举个最简单的例子:
有一个头文件"c.h",在"a.h"中存在两次对"c.h"头文件的引用。在"a.h"中有如下语句:
<span style="font-size:18px;">#include "c.h" #include "c.h"</span>
如"b.h"的头文件中有:
#include "c.h"
#include "b.h" #include "c.h"
解决重复第一个的一个好办法是每一个头文件前都加入#ifndef #define...#endif的宏定义。如头文件"c.h"写成如下形式。
#ifndef C_H #define C_H /* c.h中所有内容,!注意这里是所有内容 */ #endif</span>
比如上面举的第二种情况的例子,“a.h”首先引用"b.h","b.h"中调用”c.h“。第一次没有定义C_H的宏,引用"c.h"成功。第二次引用"c.h"时,由于已经定义了C_H,将不再会引用"c.h"。这样就很好的解决了重复引用的问题。
!注意1 有养成习惯每一个头文件都加这样一个宏定义。
!注意2 宏定义#define C_H下面的内容是原来的"c.h"中所有的内容。
标签:style blog sp 文件 div 2014 on 问题 log
原文地址:http://blog.csdn.net/samdy1990/article/details/40189613