作者badleader (龟速重新整理房间)
看板Programming
标题[问题] 关於Precompiled Header, 会重复compile某些档的问题
时间Sun Apr 29 14:49:10 2007
请问各位大大,
最近小弟在尝试使用Precompiled Header来加速compile的速度,
开发环境 : OS: Windows Vista & Windows XP SP2
DEV:MicroSoft VisualStudio 2005 (VC8)
现在遇到的问状况是:
理论上:
被包在PCH中的.h档,应该只会被compile过一次而已...
ex. StdAfx.h : #include <windows.h>
A.cpp : #include "stdAfx.h"
#include <windows.h>
上面这样的code在compile A.cpp时,windows.h连进都不会进去才对~
但是:
以DirectX SDK的 streams.h为例子,
当程式为 Stdafx.h : #include <streams.h>
A.cpp : #include "StdAfx.h"
#include <streams.h>
这样的code在compile时,却会出现 STREAMS.H included TWICE 的讯息
请问为什麽会有这样的区别产生呢???
我尝试过,在streams.h里加上pragma once之後,
就可以避免streams.h被再次compile状况~ (我用pragma message的方式测试)
可是像windows.h及vector这几个党并没有pragma once,
跟原本的streams.h一样只有用 ifndef 来保护,却可以在PCH下正常被忽略掉~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.124.156