像往常一样,当我的大脑搞乱了我自己无法弄清楚的事情时,我会向你们寻求帮助:)
这次我一直想知道为什么 stdafx.h 会这样工作?据我了解,它做了两件事:
- 包括我们的标准标头might(?) 使用并且很少改变
- 作为编译器书签
代码不再预编译。
现在,这两件事对我来说似乎是两个非常不同的任务,我想知道为什么他们不采取两个单独的步骤来处理它们?对我来说,让 #pragma-command 做书签工作并可选地在 windows.h 中使用一个头文件来包含常用的头文件似乎是合理的......这让我想到了下一个要点:为什么我们被迫通过 stdafx.h 包含常用的标头?就我个人而言,我不知道我使用的任何经常使用的标头我还没有做我自己的包含 - 但也许这些标头对于 .dll 生成是必需的?
提前谢谢
stdafx.h 是让 Visual Studio 执行预编译标头的一种方法。这是一种使用简单、易于自动生成的方法,适用于较小的应用程序,但可能会给较大、更复杂的应用程序带来问题,因为它鼓励有效地使用单个头文件,因此可能会导致组件之间的耦合在其他方面都是独立的。如果使用just对于系统头文件来说,它往往没问题,但随着项目规模和复杂性的增长,很容易将其他头文件放入其中,然后突然更改任何头文件会导致项目中所有内容的重新编译。
看这里:有没有办法在 C++ 中使用预编译头而不需要 stdafx.h?有关替代方法的详细信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)