【发布时间】:2014-07-28 20:42:25
【问题描述】:
每次查看编译器设置时,我都会想到同样的问题:为什么当前的 Delphi 编译器仍然有“Pentium-safe FDIV”编译器选项?
Pentium-FDIV-Bug 于 1994 年 11 月被发现,并没有出现在 1995 年的 CPU 型号中。当时的处理器可能只在 Windows 95、98 和 Me 上工作得足够强大。据我所知,第一个 133 MHz(因此速度足以达到 Windows 2000 的最低系统要求)的 Intel Pentium 1 CPU 于 1995 年 6 月发布,当然没有 FDIV 错误。
当前 Delphi 版本的 VCL/RTL 使用了在古代操作系统中不可用的 Windows API。 Windows 98 和 Me 不能使用空的 Delphi XE6 VCL 应用程序;我没有检查 Delphi XE6 的 VCL/RTL 是否已经破坏了 Windows 2000 的兼容性,但我认为是。
那么,当 Embarcadero 放弃对 2000 年使用的操作系统的支持时,为什么保留 1994 年使用的编译器开关?因此,没有人会需要这个编译选项,因为受影响的 CPU 不会与 VCL/RTL 所需的操作系统兼容。
更新;为了澄清这个问题:这个开关是否有任何用例可能有用?还是编译器在内部忽略了该选项,它只是为了保留旧项目文件的选项?
【问题讨论】:
-
通常你不会破坏向后兼容性。当移除一个特征的工作量大于保留它的工作量时,就没有动力去移除它。
-
@LU +1。我想如果你把它作为答案发布,它应该被接受:)
标签: delphi compiler-construction cpu