像往常一样,当我的大脑弄乱我无法弄明白的东西时,我来找你们帮忙:)
这次我一直想知道为什么stdafx.h的运行方式如何?根据我的理解,它做了两件事:
包括我们可能(?)使用的标准标题,这些标题 很少被更改
当代码不再预编译时,作为编译器书签工作.
现在,这两件事对我来说似乎是两个非常不同的任务,我想知道为什么他们没有采取两个单独的步骤来照顾它们?对我来说,有一个#pragma-command做书签的东西,并且可选地有一个标题文件,使用一长串的windows.h来做包括经常使用的标题......这样的事情似乎是合理的.这将我带到了我的下一个point:为什么我们被迫通过stdafx.h包含经常使用的头文件?就个人而言,我不知道我使用的任何常用标题我还没有自己的包含 - 但也许这些标题是.dll生成所必需的?
Thx提前
stdafx.h是Visual Studio执行预编译头文件的一种方法.它是一个易于使用,易于自动生成的方法,适用于较小的应用程序,但可能会导致更大,更复杂的应用程序出现问题,因为它鼓励有效地使用单个头文件,它可以导致组件之间的耦合否则是独立的.如果仅用于系统头文件,它往往是正常的,但随着项目的大小和复杂性的增加,很容易在其中抛出其他头文件,然后突然更改任何头文件会导致重新编译项目中的所有内容.
看这里: 有没有办法在VC++中使用预编译的头文件而不需要stdafx.h?有关替代方法的详细信息.