致命错误:';stdafx.h';找不到文件 我是一个新的C++程序员,我想通过网站学习自己(虽然我已经被编译在我的第一个程序=)(他们使用VisualStudio来编程他们的代码,因为我使用的是MacBook,我只使用vi和终端(或者我应该用别的东西吗?)< /P>
以下是我根据教程编写的helloworld.cpp程序:致命错误:';stdafx.h';找不到文件 我是一个新的C++程序员,我想通过网站学习自己(虽然我已经被编译在我的第一个程序=)(他们使用VisualStudio来编程他们的代码,因为我使用的是MacBook,我只使用vi和终端(或者我应该用别的东西吗?)< /P>,c++,c,C++,C,以下是我根据教程编写的helloworld.cpp程序: #include "stdafx.h" #include <iostream> { std::cout <<"Hello World!" <<std::end1; return 0; } 有人能告诉我如何解决这个问题吗?两个问题: a) 不需要stdafx.h(如其他人所述)。 b) “end1”应该是“endl”(注意字母“l”和数字“1”) stdafx.h是Visual St
#include "stdafx.h"
#include <iostream>
{
std::cout <<"Hello World!" <<std::end1;
return 0;
}
有人能告诉我如何解决这个问题吗?两个问题:
a) 不需要stdafx.h(如其他人所述)。
b) “end1”应该是“endl”(注意字母“l”和数字“1”)
stdafx.h
是Visual Studio使用的预编译头,您不需要它int main()
函数std::endl
而不是std::end1
#include <iostream>
int main() {
std::cout << "Hello World!" << std::endl;
return 0;
}
#包括
int main(){
std::coutstdafx.h
是一个预编译的头文件,它特定于Visual Studio。
预编译头文件是毫无价值的,除非你面临着缓慢的编译时间。在你的程序中,你根本不需要它们,所以你可以删除它,一切都会好起来
您可能会猜测,如果不需要,那么我们为什么要包括它们
我会解释:
每当我们添加头文件(#include
)时,编译器将遍历它,检查它,然后在编译CPP文件时编译头文件
对包含头文件的每个CPP文件重复此过程
如果在一个项目中有1000个CPP文件,其中必须包含xyz.h头文件,那么编译器将编译xyz.h
文件1000次。这可能需要相当长的时间
为了避免这种情况,编译器给我们提供了“预编译”头文件的选项,这样头文件将只编译一次,以加快编译时间。您是否尝试过删除带有错误的行?删除#包括“stdafx.h”
。您不需要该文件,只需将其删除即可。它是针对Visual Studio特有的预编译标头的,这是您稍后将介绍的概念。欢迎使用SO!@self这对初学者来说不是一个好建议-如果您教他们删除导致问题的每一行,他们很快就会得到一个空白文档.@Jackie使用endl
(E-N-D-L),而不是end1
(E-N-D-one)
#include <iostream>
int main() {
std::cout << "Hello World!" << std::endl;
return 0;
}