0

好的。所以我有一个简单的问题。如果我在错误的地方问它,请纠正我。我想问的是,为什么 Visual Studio 会给我这个:

#include "stdafx.h"


int main()
{
    return 0;
}

每次我创建一个新项目?(我知道我可以选择 Empty Project,并自己添加我的 .cpp 文件,但我只是好奇。它说#include <stdio.h>#include <tchar.h>。那么它是做什么用的?你们都在使用它还是什么?

(int argc, char** argv)PS -为什么没有main声明?(在我大学的编码课程中,我了解到_tmain(int argc, _TCHAR* argv)在 VS 中创建某些东西时可能会有)

4

3 回答 3

2

好的。所以我有一个简单的问题。如果我在错误的地方问它,请纠正我。我想问的是,为什么 Visual Studio 给我这个:...

嗯,这在一定程度上取决于您从向导中选择的项目类型。看起来像是控制台项目的标准模板。

#include "stdafx.h"

由向导为任何类型的翻译单元添加前缀。它支持预编译头优化机制


为什么(int argc, char** argv)主要声明中没有?

因为模板为有效的main()输入例程定义提供了最小值。

于 2016-03-02T19:47:47.280 回答
2

预编译头文件用于通过只编译一次最常包含的头文件的内容然后重用编译结果来加快编译时间。如果需要,您可以更改其名称。

于 2016-03-02T20:02:28.067 回答
2

创建新的 Win32 项目时,Visual Studio 会自动将预编译头文件“stdafx.h”添加到您的项目中,即使您未选中“空项目”复选框。

如果要禁用此功能,请转到项目配置属性 -> C/C++ -> Precompiled Headers 并选择“Not Using Precompiled Headers”。

使用预编译的标头请参阅:https ://stackoverflow.com/a/4726838 。

PS看看-> https://stackoverflow.com/a/4207223

于 2016-03-02T19:54:13.710 回答