加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi 64位?

发布时间:2020-12-15 10:13:30 所属栏目:大数据 来源:网络整理
导读:正如大家都知道的那样Delphi 64位(至少每个delphi程序员)。除了代码集关于64位Delphi应用程序(以及代码设备没有多说)的好处之外,我还能从64位Delphi应用程序中获益吗?一旦codegear发布它,将我的应用程序移植到64位真的是一个好主意吗? 编辑: 我只是问它
正如大家都知道的那样Delphi 64位(至少每个delphi程序员)。除了代码集关于64位Delphi应用程序(以及代码设备没有多说)的好处之外,我还能从64位Delphi应用程序中获益吗?一旦codegear发布它,将我的应用程序移植到64位真的是一个好主意吗?

编辑:

我只是问它,因为我想要所有的意见。现在,我可以说我真的需要更多可用于我的应用程序的内存,因为它消耗了大量资源。如果可能的话,我真的可以使用更快的速度。我不需要shell扩展插件。

我的客户也问我关于我的应用程序的x64版本,但我真的不明白为什么他们要求它,因为他们实际上是不知道什么是64位应用程序的律师。

编辑

我实际上并没有直接参与应用程序开发。我是技术团队的一员,我创建了我工作的公司中的其他开发人员用来真正开发最终应用程序的东西。所以,我的工作是做技术工作,将应用程序移植到x64是我做的事情,但我需要解释为什么我这样做对我的上级。

解决方法

与针对32位(x86)编译的程序相比,64位程序具有以下优点:

>更多寄存器。 64位x86芯片有several more registers,理论上(如果编译器利用),这可以在某些情况下产生更快的代码。
>更多记忆。对于32位程序,如果使用/ LARGEADDRESSAWARE进行编译,则通常限制为2GB地址空间或总共4GB地址空间,由于Windows内核/用户空间分割,实际上大约为3.5GB。 64位进程可以解决更多问题。这只有在您的应用需要大量内存时才有用。
>能够为资源管理器等64位程序构建插件。除非你使用COM作为数据编组的插件,否则你不能在Windows的一个进程中混合使用32位和64位代码,例如加载32位DLL的64位EXE。例如,如果你想编写一个Explorer插件,你就无法使用64位版本的旧版本Delphi。您将能够使用64位版本。
> Delphi特定:the compiler will use SSE/SSE2浮点计算指令,其中当前的32位编译器仅使用x87 FPU指令(我认为。)这应该可以提高浮点数学的速度。你可能甚至都不会注意到,除非你的应用程序高度依赖FP(游戏,或许是数据处理应用程序,这类事情。)

您的问题的答案“我将从64位Delphi应用程序中受益吗?”高度依赖于您的具体应用。一般来说,除了速度增加之外,不太可能有很多好处。不要依赖64位加速缓慢的应用程序:您仍然需要为大幅度提升进行算法更改。 64位不是一个神奇的子弹。除此之外,如果你已经遇到了32位限制之一,你只需要改变 – 我怀疑你没有,或者你不会问这个问题。

如果您决定转换,您可能会发现this thread非常有用。

但另一件事:即使您不需要更改,您也可能希望,特别是如果您的应用是个人项目。您可能会学习东西,当您修复32/64位问题时,您的代码质量会更高,而像这样的项目可能很有趣。毕竟你是程序员:)

编辑:我看到你已经更新了你的问题“我可以说我真的需要更多可用于我的应用程序的内存,因为它消耗了大量资源。如果可能的话,我真的可以使用更快的速度。”

>什么资源?记忆? 64位将为您提供更大的可寻址地址空间,就是这样。如果算作资源,它不会给你更多的GDI句柄等。但是,如果你确实需要更多内存,那么64位将值得转换为。>“更快的速度”,如果你想要一个很大的差异,通过算法或线程的变化比通过64位编译器更有可能实现。>“我的客户也问我关于我的应用程序的x64版本,但我真的不明白他们为什么要求它,因为他们实际上是不知道什么是64位应用程序的律师。”有可能他们听说64位更好或更快。在理想的世界中,客户会有基于现实的要求,但情况并非总是如此。实际上,如果客户想要这样的东西,可能值得转换只是因为它让他们感到高兴:快乐的顾客是好的,他们可能会为你支付新版本,它可能有助于你公司的口碑声誉。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读