我应该提供我的应用程序的x64版本吗?【JAVA教程】

!
也想出现在这里? 联系我们
信息

我应该提供我的应用程序的x64版本吗?,第1张

概述我应该提供我的应用程序的x64版本吗?

也许我在这里错过了x64平台的一个主要观点,但是我的理解是,当大量的内存,大指针或其他要求很高的x64应用程序只比x86更好的性能(在x64 *** 作系统和硬件上)涉及因素。

不过,我已经注意到一些小型的应用程序,除了标准的x86版本之外,还提供了他们的安装程序的x64版本。 由于x86在使用WoW的windows x64上运行得很好,对我发布我的应用程序的x64编译版本有什么好处吗? 照我看来:

优点:

虽然性能可能更高(在什么情况下)

缺点:

是否可以通过模式切换在64位进程中执行32位代码?

在64位linux中构build32位可执行文件时,我得到crt1.o:即使使用-m32标志也没有这样的文件

如何重新configuration​​谷歌testing的32位embedded式软件?

在linux中使用LD_PRELOAD混合64位/ 32位环境

允许用户在64位窗口上安装32位版本

额外的构build来创build/支持

x64目标中可能存在的x86目标中不存在的BUG

依赖x64版本的供应商/ *** 作系统DLL,需要不同的安装清单并引入其他故障排除复杂性

什么是一些令人信服的理由,应该使我重新考虑添加我的应用程序的x64编译版本?

我应该在64位构build中同时定义_WIN32和_WIN64吗?

对于64位windows上的32位应用程序,64位 *** 作是primefaces *** 作

为什么在64位Ubuntu上不安装32位.deb软件包?

libtool与libstdc ++的32位版本链接,所以在64位目标平台上安装了多个版本的gcc时

作为一名程序员,当转移到64位窗口时,我需要担心什么?

编译和调试x64版本的另一个潜在原因是,它可能会暴露x86版本中的隐藏的错误。 例如,这可能会暴露32位整数和(现在)64位指针之间不正确的转换。 这也使您在未来支持x64。

但是,除非您的应用程序能从64位整数,额外的cpu寄存器,更大的存储空间(超过3.5Gb),或者实现设备驱动程序,使用32位应用程序都可以受益。 所有主要的 *** 作系统都支持同时运行x32和x64应用程序,因此不会对64位应用程序产生重大影响。

BTW。 基于.NET的应用程序自动受益于在64位系统上执行而无需任何代码更改。 不需要额外的测试。

潜在的性能改进主要与64位整数的使用有关(在我的机器上,x64内建的速度是x86平台上的4倍),而且编译器可能会假定某些cpu特性普遍存在于支持x64的cpu中,如SSE2,&; 这可以导致更优化的代码。

对于许多应用程序,尤其是小型应用程序,64位清理并不难,对于大型应用程序来说,这是一个非常头痛的问题。 通常情况下令人信服的原因很少。 但是有些平台默认情况下不会安装64位版本的32位支持(我认为FreeBSD需要明确地告知这么做,但我可能会犯这个错误)。

如果你的程序使用了很long long的时间,那么你的程序将会受益,而WOW当然意味着一个小的性能打击(虽然因为这个原因,cpu有一个兼容模式,所以很小)。

windows对32位程序的支持将在未来降级(尽管速度很慢),所以我说在另一年或2年,你可能会奇怪为什么你想要部署一个32位应用程序…

而且,64位版本的应用程序实际上可以比32位版本更加优化,因为使用64位,您可以保证有相当多的东西,比如SSE2。

性能; 由于前面已经说明的原因,x86_64比x86的速度要快(也取决于你的编译器)。 另外,支持真正庞大的数据集更容易,但是当然许多应用程序永远不需要去那里。

当然在linux和OS X上,你真的应该支持x86_64; 我在OS X上打了一个64位的浏览器,而我的linux的角落里也是64位的。 64位的windows是一个更多的问题,但现在即将到来(与司机)。

这通常基于人为因素而不是客观的技术推理。 64位是最新最好的,必须比32位更好。 如果客户需要,客户永远是对的。 曾与windows用户说过,他们的目标是使他们在windows * 32中查看他们的进程列表时不会出现在他们的任何应用程序旁边。

很多时候,这也是由于人们对64位 *** 作系统的兼容性的困惑而引起的,他们只是想确保软件能够在计算机上工作。 期望普通人了解64位 *** 作系统上的32位进程之间的技术分界线是不现实的。 除非在包装上明确指出,否则顾客购买新软件可能会引起混淆/关注。 由于这个原因,通常你会看到64位的提及。 通常这只意味着只有64位的兼容性。

现在有几个64位应用程序(Flash播放器和谷歌地球榜首),不能很快来。

这是一个原因:与64位应用程序集成,如编写一个shell扩展。 一个64位的进程不能直接加载一个32位的DLL,所以你必须使你的64位。

还没有提到的一个因素: WoW64现在是服务器核心的可选功能 。 当然,如果您的应用程序需要在服务器系统上运行,则只是一个问题。

同样,windows PE,windows RE等不包括Wow64。

总结

以上是内存溢出为你收集整理的我应该提供我的应用程序的x64版本吗?全部内容,希望文章能够帮你解决我应该提供我的应用程序的x64版本吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞123 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容