13

我总是发现有些人(大多数来自印度)正在使用 turbo C。我找不到任何理由使用这种过时的编译器......但我不知道在试图告诉他们使用现代编译器时应该给出什么理由( gcc,msvc,...)。

4

7 回答 7

21

Turbo C 是仅 DOS 的产品。这意味着它不再在 64 位版本的 Windows 上“本机”运行,并且必须在 XP 兼容性惩罚框中运行。

于 2010-10-13T02:29:48.453 回答
14

虽然有很多不使用 Turbo C 的理由(它很旧,早于标准,生成 16 位代码等),但回答“我如何在 Turbo C 中做 X?”之类的问题是无效的。使用“只需使用 GCC”。这就像有人问“我如何用我的 1992 丰田做 X?” 你说“买一辆更新的车”。

使用 Turbo C 的人可能这样做是因为这是一种要求,而不是因为他们不知道更好的东西。奇怪的是,对于一个编程类,他们提交的分配必须在该编译器中工作。当我给 C++ 作业评分时,学生使用什么编译器并不重要,但他们必须使用我使用的编译器正确编译和运行。

于 2010-10-13T02:29:13.657 回答
7

我想说支持和标准合规性对我来说是两个大问题。

祝你好运,甚至找到Borland/Inprise/Borland/Codegear/Embarcadero,或者他们现在自称的任何东西。如果你能让他们承认这些产品的存在,那就更值得称赞了(尽管我确实在某个时候从 BDN 上的 Borland 博物馆得到了它们)。

性能可能很重要,但我编写的绝大多数应用程序花费 90% 的时间等待用户(我不进行基因组测序、SETI 分析或蛋白质折叠——市场非常小)。

老实说,如果我可以在两种免费产品之间进行选择(显然,钱不是问题),我总是会选择最好的(对我来说就是 GCC)。

于 2010-10-13T02:40:23.413 回答
3

Turbo C 生成 16 位 X86 代码。当您在 16 位 x86 处理器上开发时,Kiiinda 很好。

到过那里。做到了。

更改的实际原因是:gcc 正在开发中,并已修复错误。它本地部署在现代操作系统和现代芯片上。

于 2010-10-13T02:47:28.297 回答
2

这也是我的第一个编译器(4 年前),尽管当我了解到它不遵循最新标准并依赖于被认为已弃用或不良做法的功能时,我很快就切换到了 gcc。这些足以让我做出改变。

于 2010-10-13T12:00:57.363 回答
1

您应该使用像样的 C 编译器的最重要原因是性能。由于 GCC 对代码进行了积极的优化,编译后的程序的性能将比以前提高几十个百分点。

于 2010-10-13T02:18:24.837 回答
0

Turbo C 的配置和使用要简单得多,可以在旧的 DOS 机器上运行。它的尺寸也很紧凑。我想这就是原因。

但是,它确实很少利用现代处理器。

于 2010-10-13T02:21:45.080 回答