Windows便携可执行文件是如何跨机器架构便携
-
21-09-2019 - |
题
是Windows便携可执行文件是不同机器体系真正的便携式?如果是的话它是如何工作的?如果没有,那么什么是“可移植可执行”平均或可执行文件的一部分,是便携式?
谢谢,希瓦德兰
解决方案
在可执行程序本身不是便携式的。 PE格式是对于不同的体系结构的可执行文件使用相同PE格式意义上的“便携式”,但PE文件内的可执行代码是特定于单个处理器的体系结构。
在实践中,这意味着大量的相同的编译器和链接码可以为不同的体系结构可以重复使用,同时,在工具用于检查可执行文件(在一定程度上)工作“外来”的可执行文件。
(我说的是这里本地的可执行文件 - .NET程序集也使用PE格式,可以做到真正的便携式)
其他提示
维基百科: “中的术语‘便携式’是指在操作系统软件体系结构的众多环境的格式的通用性。”
好了,它是在该格式可用于在各种平台(SkyOS用它他们切换到ELF之前)可执行装置的便携式。它不是便携式在独立于平台的代码的装置或,如果产生在一个OS上PE文件,它运行在另一个上。
PE-文件是二进制应用数据只是容器。 它们允许针对不同的CPU架构(甚至非CPU的软件架构像.NET)。这就是为什么他们被称为“便携式”。
它们包含每个二进制应用程序图像,然而适合于恰好一个体系结构。
不隶属于 StackOverflow