好的。所以我有一个简单的问题。如果我问错了地方,请纠正我。我想问的是,为什么Visual Studio给我这个:
#include "stdafx.h"
int main()
{
return 0;
}
每次创建新项目时?(我知道我可以选择空项目,并自己添加我的.cpp文件,但我只是好奇。它说#include <stdio.h>
和#include <tchar.h>
.那么它有什么用呢?你们都在使用它还是什么?
附言 - 为什么main
声明中没有(int argc, char** argv)
?(在我大学的编码课程中,我了解到在 VS 中创建某些内容时可能会有_tmain(int argc, _TCHAR* argv)
)
好。所以我有一个简单的问题。如果我问错了地方,请纠正我。我想问的是,为什么Visual Studio给我这个: ...
嗯,这有点取决于您从向导中选择的项目类型。看起来像控制台项目的标准模板。
#include "stdafx.h"
由向导为任何类型的翻译单元添加前缀。它支持预编译的标头优化机制。
为什么主声明中没有
(int argc, char** argv)
?
因为模板提供了有效main()
条目例程定义的最小值。
创建新的 Win32 项目时,Visual Studio 会自动将预编译标头"stdafx.h"添加到项目中,即使您取消选中"空项目"复选框也是如此。
如果要禁用此功能,请转到项目配置属性 -> C/C++ -> 预编译标头,然后选择"不使用预编译标头"。
使用预编译标头请参阅:https://stackoverflow.com/a/4726838。
附言看看-> https://stackoverflow.com/a/4207223
预编译标头用于通过仅编译一次最常包含的标头的内容,然后重用编译结果来加快编译时间。如果需要,您可以更改其名称。