[juliantec_list] Re: Re: 自定义头文件中的条件编译

  • From: "Yihe Chen" <yihect@xxxxxxxxxxxxxx>
  • To: <justin_ruo@xxxxxxxx>, 姜华 <jh2012626@xxxxxxxxx>, "app-dev-in-linux" <app-dev-in-linux@xxxxxxxxxxxxxx>
  • Date: Sat, 21 Jul 2012 21:37:56 +0800

From: <justin_ruo@xxxxxxxx>
From: "Yihe Chen" <yihect@xxxxxxxxxxxxxx>
自定义的头文件,为了避免里面东西的
重复定义,一般要养成习惯用 #ifndef
...#endif  包起来。


我记得以前我也这样试过,在一个头文件里面没用
#ifndef ... #endif 包起来,然后我在同一项目的
多个 .c 中包含这个头文件,好象也没出什么重复
声明的问题。


加上这个实际上是防止一个头文件,被直接或者间接
的被一个.c 程序文件所包含。这个时候假如在这个头
文件里面有被声明的结构体啊、共用体啊什么的就会
报告重复定义。

我测试了一下,若同一个.h被多个.c包含,但没有出现
上面所说的情况的话,是不会出现重复定义报错的。


不知道这个东西的确切含义,只知道是避免重复定
义,但还是不非常清楚这指的是什么意思。




Learning, Just As Your Favourite Thing!

Maillist, See http://www.juliantec.info/mlist/mail-lists.html
JulBlog, See http://www.juliantec.info/julblog/summary.php
JulWiki, See http://www.juliantec.info/wiki/
JulJob, see http://www.juliantec.info/juljob/



Other related posts: