我今天第一次遇到了预编译头文件..改变了我的生活。我无法相信编译我的C++代码可能会很快。这使得现在总感觉..头文件中的预编译头文件
无论如何,有一点是困惑我的是,从我至今读,预编译头只应加入源文件(CPP?)。
在Visual Studio中,有项目属性 - > C/C++下的选项 - >高级 “人力包含文件”。我将该编译器选项设置为stdafx.h。
做this..I不再需要包括我已经加入到我的stdafx.h中头之后,即使是在我的头文件(源文件都应该自动包括stdafx.h中)。这是预期的行为?
我无法找到一个地方,在头/源文件之间的区别清楚。
如果does..great但恐怕它的那些东西VC++让你得逞的,但将在GCC打破一个又一个。是的,它需要可移植;至少在GCC和VC++之间。
那么,如果你想让你的项目在gcc上工作,那么你最好远离“强制包含文件”选项。 Boilerplate是使源代码文件中的第一个#include包含预编译头文件。 – 2012-07-09 21:15:51
@Hans,等效的gcc功能是使用'-include'命令行选项在每个文件的开头包含* stdafx.h *。 – 2012-07-09 21:21:48