如何解决有什么理由不删除对Pentium FDIV错误的检查吗?
从“项目属性” /“编译” /“高级优化”中查看VB6 IDE中出现的最后一个复选框:
这与大约25年前的故障硬件(1994?)有关,但是我很难想象现在的任何cpu仍然会出现此问题。
但是,我不确定此检查是否有任何令人希望的副作用,可能意味着它值得保留?还是去除的不良影响?
我看到Delphi已经解决了这个问题,但是我找不到VB6的任何东西。
从这些Q中我得到的印象是,它不再是Delphi真正关心的问题。
这是什么摘要:
删除安全的奔腾FDIV检查
这是另一个浮点数 优化。英特尔早期的奔腾芯片中的一些错误 影响了某些浮点除法计算。默认, VB的数学程序可以防止Pentium错误,但是 VB代码中的数学运算比让处理器芯片执行运算要慢 为了你。如果您确信自己的程序不会在 奔腾FDIV错误的计算机上,您可能需要激活它 优化。
(ref1)
和一些用于检查硬件是否损坏的代码,它说明了问题本身:
' return True if the cpu suffers from the FDIV bug Function IsBuggedPentium() As Boolean IsBuggedPentium = ((1 / 3221224323) * 3221224323) <> 1 End Function
请注意,此代码在运行的VB应用程序中始终返回False 作为p代码或使用标准编译选项进行编译。至 实际检测到该错误,您必须在 使用“删除安全奔腾(tm)FDIV检查”编译的应用程序, 在“项目属性-高级优化”对话框中。
(ref2)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。