首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于条件编译的有关问题

2012-02-20 
关于条件编译的问题文件名为guard.h#ifndef_IMPL_GUARD_H_#define_IMPL_GUARD_H_#pragmamessage( Usinggu

关于条件编译的问题
文件名为guard.h

#ifndef   _IMPL_GUARD_H_  
#define   _IMPL_GUARD_H_  
#pragma   message( "Using   guard   file... ")
......

#endif

我在多个CPP文件中包括这个头文件,在VC6编译时,OUTPUT窗口会出现多个
Using   guard   file...
为什么不是预期的只输出一次呢?请各位指教...

[解决办法]
因为每个文件是一个独立编译单元。
[解决办法]
你问的跟本就不是个问题。
如果一个头文件只对一个cpp可见,那这个头文件基本上就没用了,还不如把内容直接拷贝到那一个cpp文件里算了。

相反,那个条件编译是用于防止同一头文件被同一个cpp文件多次包含的情况(直接或间接),因为通常一个东西最好只在一个文件中声明一次(注意,不是在多个文件中只声明一次)。

热点排行