gpt4 book ai didi

c++ - 为什么不能用 Turbo C++ 编译一个简单的 "Hello World"风格的程序?

转载 作者:IT老高 更新时间:2023-10-28 11:56:03 25 4
gpt4 key购买 nike

我已经开始为我的编程课学习 C++。我已经下载了这个“Hello World”程序:

#include <iostream>
using namespace std;

int main()
{
cout << "Hello, World!";
return 0;
}

但 Turbo C++ 提示:

Error D:\HELLO.CPP 1: Unable to open include file 'IOSTREAM'
Error D:\HELLO.CPP 2: Declaration syntax error
Error D:\HELLO.CPP 6: Undefined symbol 'cout'

这个非常简单的程序有什么问题?我该如何纠正这些错误?

最佳答案

这个程序没有问题。 (可能除了一些风格问题——不推荐使用命名空间std)。问题在于 Turbo C++。这是一个非常古老的软件。它实现了一种 C++ 方言,即所谓的 pre-ANSI C++,在本世纪初完全停止使用。 C++ 的第一个 ANSI 标准于 1998 年发布,然后是 2003 版、2011 版、2014 版、2017 版,现在我们预计 2020 版将正式发布。这些标准修订中的每一个都或多或少地对语言进行了重大更改。

对于 Turbo C++,您必须像这样修改程序:

#include <iostream.h>      // note the .h suffix
// using namespace std; // Turbo C++ doesn't implement namespaces

int main()
{
cout << "Hello, World!";
return 0;
}

如果您查看这个程序,现代 C++ 方言与 Turbo C++ 所接受的方言之间的差异似乎很小。但是,随着您的程序变得越来越复杂,它会变得越来越大。

虽然您可以学习使用 Turbo C++ 进行编程,但由于以下问题,我强烈建议您避免这种情况:

  1. 您将学习的语言与业界使用的流行语言有些相似,但又大不相同,没有什么好理由的。如果你打算为真正的软件开发编写 C++,你将不得不重新学习很多东西。立即学习现代 C++ 要容易得多。
  2. 目前没有关于 Turbo C++ 的文献。几乎 100% 的 C++ Material ,您可以在 Internet 上或书籍中找到,并不直接适用于开箱即用的 Turbo C++。有些只需要稍作调整,而其他 Material 则完全无法使用。几乎可以立即获得的唯一帮助来源是内置的 Turbo C++ 帮助。
  3. 很少有人记得 Turbo C++。在论坛上提问时,请始终指定您使用的是 ANSI 之前的方言,以便过滤掉针对该语言现代版本的响应。您可能会收到一堆评论,建议您立即停止并在提出每个问题时切换到现代编译器。

您可以使用许多现代免费(如 beerspeech 中的)编译器和 IDE 来代替 Turbo C++。其中包括:

  1. Visual C++ Community Edition是 Microsoft 的 IDE 和编译器
  2. Code::Blocks是一个轻量级的IDE。在 Windows 上,它附带了一个有点过时的编译器,但您可以自己安装更现代的编译器
  3. Eclipse CDT是一个强大的跨平台IDE。它不附带自己的编译器,因此您需要安装单独的编译器。在 Windows 上,使用例如MinGW .
  4. Many more
  5. 另外还有很多在线编译器如http://ideone.com , https://www.onlinegdb.com/http://coliru.stacked-crooked.com/ , 加 many more (这些主要用于尝试想法和编写非常小的程序)。
  6. 两者都是Clang/LLVMGCCfree software支持最新版本 C++ 的编译器。

遗憾的是,即使在这个时代,一些学校/老师似乎也强制学生使用 Turbo C++。不幸的是,这不是这个社区可以解决的。如果您发现自己处于这种情况,请做好无法获得太多外部帮助的准备。

关于c++ - 为什么不能用 Turbo C++ 编译一个简单的 "Hello World"风格的程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44863062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com