gpt4 book ai didi

德尔福64位?

转载 作者:行者123 更新时间:2023-12-03 14:34:06 26 4
gpt4 key购买 nike

大家都知道(至少每个 Delphi 程序员),Delphi 64 位即将到来。除了 codegear 所说的 64 位 Delphi 应用程序的好处(codegear 没有说太多)之外,拥有 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 位程序构建插件,例如 Explorer。除非您将 COM 用于对数据进行编码的插件,否则您无法在 Windows 的一个进程中混合使用 32 位和 64 位代码,例如加载 32 位 DLL 的 64 位 EXE。例如,如果您想编写一个 Explorer 插件,则无法让它与旧版本的 Delphi 一起使用 64 位版本的 Explorer。您可以使用 64 位版本。

  • Delphi 特定:the compiler will use SSE/SSE2指令用于浮点计算,当前的 32 位编译器仅使用 x87 FPU 指令(我认为)。这应该会提高 float 学的速度。您可能甚至不会注意到,除非您的应用程序高度依赖于 FP(可能是游戏,或者数据处理应用程序之类的东西。)

您的问题“我会从 64 位 Delphi 应用程序中受益吗?”的答案高度依赖于您的具体应用。一般来说,除了可能的小幅速度提升之外,不太可能带来太多好处。不过,不要依赖 64 位来加速缓慢的应用程序:您仍然需要进行算法更改才能大幅提升速度。 64 位并不是 Elixir 。除此之外,只有当您已经遇到 32 位施加的限制之一时,您才需要进行更改 - 我怀疑您还没有遇到,否则您就不会问这个问题。

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

但另一件事:即使您不需要更改,您也可能想要更改,尤其是当您的应用程序是个人项目时。您可能会学到一些东西,当您修复 32/64 位问题时,您的代码质量将会更高,而且这样的项目会很有趣。毕竟你是一名程序员:)

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

  • 什么资源?内存? 64 位将为您提供更大的可寻址地址空间,仅此而已。如果这些算作资源的话,它不会给你更多的 GDI 句柄等。但是,如果您确实需要更多内存,那么 64 位值得转换为。

  • 如果您想要差异,“更快的速度”更有可能通过算法或线程更改而不是通过 64 位编译器来实现。

  • “我的客户也在询问我的应用程序的 x64 版本,但我真的不明白他们为什么要求它,因为他们实际上是律师,不知道什么是 64位应用程序。”他们很可能听说 64 位更好或更快。在理想的世界中,客户会有基于现实的需求,但情况并非总是如此。务实地说,如果客户想要这样的东西,可能值得转换,仅仅因为这让他们高兴:高兴的客户是好的,他们可能会为新版本付钱给你,这可能有助于提高你公司的口碑。

关于德尔福64位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5671052/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com