Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Borland Turbo C 2.01使用什么C版本?_C_Turbo C - Fatal编程技术网

Borland Turbo C 2.01使用什么C版本?

Borland Turbo C 2.01使用什么C版本?,c,turbo-c,C,Turbo C,我已经开始使用Turbo C 2.01作为一个爱好项目。是的,DOS版本。自从1987年推出以来,我想它不支持C90。。。但它确实如此。好吧,一部分。volatile关键字有效。不支持直接K&R;我尝试了K&R风格的声明,但出现了一个错误 所以,我想知道Turbo C使用的是什么形式。我确信这是非标准的,但它似乎有点一致,而且因为这是当时非常流行的编译器,我确信有一些信息收集。。。是吗?当时没有真正的标准,而且MS-DOS也有自己的怪癖(即分段内存模型,不同的应用程序内存模型使用它们的方式不同…

我已经开始使用Turbo C 2.01作为一个爱好项目。是的,DOS版本。自从1987年推出以来,我想它不支持C90。。。但它确实如此。好吧,一部分。
volatile
关键字有效。不支持直接K&R;我尝试了K&R风格的声明,但出现了一个错误


所以,我想知道Turbo C使用的是什么形式。我确信这是非标准的,但它似乎有点一致,而且因为这是当时非常流行的编译器,我确信有一些信息收集。。。是吗?

当时没有真正的标准,而且MS-DOS也有自己的怪癖(即分段内存模型,不同的应用程序内存模型使用它们的方式不同……)

所以我认为可以肯定地说,Turbo C2.01使用了C的Turbo C2.01方言

关于支持C90,请注意,该标准显然尽了最大努力使现有的C代码与之兼容。因此,87版本的Turbo C能够以最小的改动构建大多数C90程序也就不足为奇了。

据介绍,最初的K&R非标准规范于78年问世。产生ANSI C89标准的ANSI X3J11委员会的起点是1983年,目标是

建立基于Unix实现的C标准的C.X3J11标准规范

该标准随后被ISO采用为C90。但由于它广泛地基于现有的实现,因此此实现的扩展已经移植到其他实现中,如Borland的实现


因此,Borland C2.01(87版)已经包含了K&R C的大部分扩展,而这些扩展仅在2年后才在标准中采用。

我也知道
near
far
是非标准的。这与我无关。嗯。。。指针杂耍…C89的草稿………?它可能支持“Borland Turbo C 2.01版本”。Turbo C是C的一种形式。据我记忆,它“几乎是C90”。它到处都有一些小的标准遵从性问题。(与TC++3.0不同,TC++3.0与标准相比完全是香蕉。这也难怪,因为它是在C++98标准化之前8年发布的。)无论如何,你应该停止使用这种过时的软件。