今天我第一次接触预编译头文件,它改变了我的生活。我无法相信编译C++代码可以如此快速。现在这完全有意义了。
无论如何,有一件让我困惑的事情是,从我到目前为止所读到的内容来看,预编译头文件只应该添加到源文件(cpp?)中。
在Visual Studio中,项目属性-> C/C++->高级选项下有一个名为"Force Include File"的选项。我将编译器选项设置为stdafx.h。
这样做后,我不再需要包含已添加到stdafx.h中的头文件,甚至不需要在我的头文件中包含它们(源文件应自动包含stdafx.h)。这是预期的行为吗?
我找不到一个清晰区分头文件/源文件的地方。
如果是这样,那太好了,但我担心这是VC++让你得逞但在GCC中会出错的另一种情况。是的,它需要可移植性,至少在GCC和VC++之间。
-include
命令行选项,在每个文件的开头包含stdafx.h。 - Rob Kennedy