头文件包含问题

时间:2011-06-28 06:19:30

标签: file header

假设我有一个包含b.hxx和c.hxx的头文件a.hxx。

现在,如果我在d.cxx文件中包含这个a.hxx文件,b.hxx和c.hxx是否自动(隐式)包含在内?

P.S:这不是一个家庭作业问题。我很想知道这件事。

2 个答案:

答案 0 :(得分:0)

是的。 使用d.hxx文件时,它包含a.hxx b.hxx和c.hxx

的所有内容

答案 1 :(得分:0)

是的,整件事被视为一大串人物:

pax$ cat a.hxx
#warning START A
#include "b.hxx"
#include "c.hxx"
#warning END.. A
//==============

pax$ cat b.hxx
#warning START B
#warning END.. B
//==============

pax$ cat c.hxx
#warning START C
#warning END.. C
//==============

pax$ cat d.cxx
#warning START D
#include "a.hxx"
#warning END.. D
//==============

pax$ gcc -c -o d.o d.cxx
d.cxx:1:2: warning: #warning START D
In file included from d.cxx:2:
a.hxx:1:2: warning: #warning START A
In file included from a.hxx:2,
                 from d.cxx:2:
b.hxx:1:2: warning: #warning START B
b.hxx:2:2: warning: #warning END.. B
In file included from a.hxx:3,
                 from d.cxx:2:
c.hxx:1:2: warning: #warning START C
c.hxx:2:2: warning: #warning END.. C
In file included from d.cxx:2:
a.hxx:4:2: warning: #warning END.. A
d.cxx:3:2: warning: #warning END.. D