为了在虚幻引擎中创建游戏,我刚刚开始学习c ++。
我有一些很棒的教程视频,我希望能跟随整个系列学习,但是我已经被困在第一个视频中了:[
我确实对C#和Java有很多了解。
基本上,在本教程中,他们制作了一个HelloWorld! Visual Studio 2017中的Windows控制台应用程序。他们代码的第一行是'#include“ stdafx.h”',在我的代码中是'#include“ pch.h”'
我知道这些预编译的头使我可以访问名称空间中的特定代码/功能,但是此代码存储在哪里?为什么在我的标头中添加include stdafx.h时会出现错误,提示无法打开源代码?
答案 0 :(得分:1)
当您要为多个.cpp(翻译单元文件)编译相同的标头时,预编译标头只是缓存编译的一种方法。
如果有
a.cpp
b.cpp
其中包括,例如
<windows.h>
<iostream>
然后,将仅完成这些包含标头的一个编译(对于第一个翻译单元),其他翻译单元将重复使用该编译,只要它们包含的内容完全相同-这就是为什么它们会停止到特定文件名称。按照惯例,该文件名为stdafx.h
所以通常我有一个stdafx.cpp,其中我指定“创建PCH”,其他人使用它。