Windows上的胖二进制文件?

Windows上的胖二进制文件?,windows,macos,dll,binary,Windows,Macos,Dll,Binary,我知道在MacOSX上,您可以使用lipo将针对不同体系结构的多个二进制文件组合成一个二进制文件。我想知道在Windows端是否有类似的解决方案。谢谢。不幸的是,所有Windows体系结构都在PE头中使用相同的结构,因此不需要。但是,由于DOS使用MZ头,所以可以将Windows可执行文件和DOS可执行文件融合在一起。不幸的是,所有Windows体系结构都在PE头中使用相同的结构,所以没有。但是可以将Windows可执行文件和DOS可执行文件融合在一起,因为DOS使用的是MZ头文件。我想您是在参

我知道在MacOSX上,您可以使用lipo将针对不同体系结构的多个二进制文件组合成一个二进制文件。我想知道在Windows端是否有类似的解决方案。谢谢。

不幸的是,所有Windows体系结构都在PE头中使用相同的结构,因此不需要。但是,由于DOS使用MZ头,所以可以将Windows可执行文件和DOS可执行文件融合在一起。

不幸的是,所有Windows体系结构都在PE头中使用相同的结构,所以没有。但是可以将Windows可执行文件和DOS可执行文件融合在一起,因为DOS使用的是MZ头文件。

我想您是在参考,它已添加到NTFS中,以提供与Mac上类似的功能。虽然NTFS支持多个流,但PE加载程序应该选择正确的流,我不确定它是否已实现。

我认为您正在参考添加到NTFS以提供与Mac上类似的功能的。虽然NTFS支持多个流,但PE加载程序应该选择正确的流,我不确定它是否已实现。

Ah!好吧,这很糟糕,但是谢谢你回答这个问题。但是你可以制作一个安装程序,根据架构安装不同的版本吗?不一样,但可能足够好?是的,我可以创建一个安装程序来安装不同的版本。我只是在寻找一个更好的解决方案,这样就可以与Mac OS X版本媲美了。好吧,这很糟糕,但是谢谢你回答这个问题。但是你可以制作一个安装程序,根据架构安装不同的版本吗?不一样,但可能足够好?是的,我可以创建一个安装程序来安装不同的版本。我只是在寻找一个更好的解决方案,这样就可以与Mac OS X版本媲美了。这听起来完全不对。你能给我指出一些支持这一点的MSDN链接吗?@mrduclaw试试这个:对不起,也许我没有明确说明;英语不是我的第一语言。我了解什么是备用数据流以及如何使用它们。我从来没有读过任何关于Windows加载程序使用它们来选择加载哪个二进制文件的文章。IMAGE\u NT\u头文件是否需要在其中的某个位置包含此字段,以便IMAGE\u OPTIONAL\u头文件指向正确的entry地址?因此,讨论使用它们的Windows加载器的MSDN链接是我要寻找的。@mrduclaw在Mac上,存储可执行文件资源的常用方法是将它们放在其广告中。这也可能包括可执行文件的不同版本。NTFS支持这种存储文件的方式,但我不确定PE loader是否能够从ADS中选择适合当前体系结构的二进制文件(如果有的话)。COFF头有一个字段机器,指定为其构建二进制文件的体系结构。没有必要有几个可选的头,因为我们这里讲的是不同的文件。这听起来一点也不正确。你能给我指出一些支持这一点的MSDN链接吗?@mrduclaw试试这个:对不起,也许我没有明确说明;英语不是我的第一语言。我了解什么是备用数据流以及如何使用它们。我从来没有读过任何关于Windows加载程序使用它们来选择加载哪个二进制文件的文章。IMAGE\u NT\u头文件是否需要在其中的某个位置包含此字段,以便IMAGE\u OPTIONAL\u头文件指向正确的entry地址?因此,讨论使用它们的Windows加载器的MSDN链接是我要寻找的。@mrduclaw在Mac上,存储可执行文件资源的常用方法是将它们放在其广告中。这也可能包括可执行文件的不同版本。NTFS支持这种存储文件的方式,但我不确定PE loader是否能够从ADS中选择适合当前体系结构的二进制文件(如果有的话)。COFF头有一个字段机器,指定为其构建二进制文件的体系结构。没有必要有几个可选的头,因为我们这里讲的是不同的文件