#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
我仍然是C ++的初学者,但我很好奇为什么你必须包含stdafx.h库以及为什么主要功能与其他IDE不同?
答案 0 :(得分:3)
"stdafx.h"
文件是用于预编译标头的文件。如果需要,可以删除它,直接包含所有标题,并在项目选项中关闭预编译的标题,它仍然可以使用。它会慢一些。
_tmain
和_TCHAR
是扩展为main
和char
,或wmain
和wchar_t
的宏,具体取决于是否为Unicode已在项目选项中启用。标准C ++只有int main(int argc, char *argv[])
声明,并且不支持任何采用wchar_t
的表单,因此您需要特定于实现的扩展才能使其正常工作。如果需要,如果您不希望或不需要在命令行参数中使用Unicode,则可以编写int main(int argc, char *argv[])
。即使使用该原型或使用int main(void)
,您也可以使用GetCommandLineW
以宽字符形式获取命令行参数。
答案 1 :(得分:0)
这是特定于Windows的,因为Windows图形程序将其他参数传递给main函数。
_tmain
而不是标准main
的原因是由于构建特定于Windows的控制台程序时的Unicode设置。如果您创建没有Unicode支持的非Windows特定控制台程序,则应获得标准main
函数。
"stdafx.h"
将处理precomiled headers。某些Windows系统头文件非常大,解析项目中每个源文件(或更确切地说translation unit)的头文件可能会在构建时增加大量时间。通过“预编译”头文件,它们处于部分解析状态,可以更快地读取和处理编译器。