Windows 8 的FAT二进制文件(适用于x86和ARM的exe)

9

有没有人知道Windows 8是否会有一种类似于“fat exe”的东西,可以使用Visual Studio 2012编译,并支持ARM和x86机器?我猜不会,因为据我所知,你不能创建能够执行32位或64位代码的fat二进制文件(我所知道的唯一可用解决方案是32位,在运行时创建64位可执行文件)。

微软似乎应该扩展exe或创建一个fat二进制格式,至少为Windows 8及其后续版本提供单个可执行文件的编译,以适应Windows不断扩大的平台。

编辑:以下链接显示如何在第一个开发者预览版中编译ARM exe。我觉得我应该加上这个链接,因为它没有暗示fat二进制支持,但现在还为时过早。我认为现在没有它并不排除它成为可能的可能性。Compile for ARM


1
我认为重点应该是编译.NET程序,这样它就可以在x86/x86_64以及ARM上运行。有趣的问题。 - Prof. Falken
1
我认为这是.NET字节码的重点...但是,如果我没有弄错的话,你仍然需要针对特定架构进行编译。我认为这是启动JIT编译器的起始代码。不过,不要引用我的话。此外,Windows 8应用市场可能会允许每种类型的二进制提交。无论如何,赞同你的好评论。 - Joshua W
3个回答

2
在Windows 8中需要fat二进制文件支持的需求已经被缓解,因为针对ARM平台的二进制文件必须通过Windows应用商店进行分发。现代应用程序被编译成单一的包。

0

在不同的系统上执行需要单独的二进制文件。就像win32和win64一样。


8
你不熟悉“fat binaries”的概念,对吗? - onemasse

0

我没有看到任何关于这种功能的新闻、提示或甚至是谣言。考虑到我们已经不得不为x86和x64保留一组单独的可执行文件和DLL,我不认为这会改变ARM的情况。此外,考虑到ARM机器通常已经有相当有限的内存,带着x86/x64的负担“以防万一”甚至更没有意义。


我知道ARM系统通常存在的限制,但是我预计平板电脑等设备不会有这些限制,更不用说一个复杂程序的大部分内容都不在可执行文件中,而是在支持文件中,如果我没有弄错的话。 - Joshua W
那么呢?闪存空间仍然有限,如果每个二进制文件比必要的大两到三倍,你很快就会用完空间。无论如何,我的回答的第一部分仍然成立,那么为什么要踩我呢? - Igor Skochinsky
1
第一个是猜测,另一个则是错误。(当然,猜测并没有错。)新兴的ARM机器可以拥有和任何x86笔记本一样大的硬盘,并且它们至少可以寻址2GBRAM,甚至可能是4GB。在这里,Windows 8在1GBRAM ARM上运行: http://www.tekgoblin.com/2011/04/13/windows-8-has-leaked-compatible-with-arm-processors-proof-video/ - Prof. Falken
就我个人而言,我不认为Windows 8会支持FAT二进制文件。我认为他们会鼓励人们使用.NET。 - Prof. Falken
我没有down-vote的权限,但我想这可能是因为你的担忧似乎不太合理,@IgorSkochinsky。平板电脑和智能手机正在迅速成为功能非常强大的机器。例如,新的Droid Razr中的硬件超过了我五年前使用的计算机的硬件。谢谢你的意见。不过我欢迎更多关于为什么现代平板电脑不能处理fat二进制文件的思考,特别是它可以运行Windows 8。 - Joshua W

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接