如何在低级别实施'任何CPU'?
是不是有两种格式:PE32和PE64? Windows x86和x64都可以运行32位。但是,它并不是通过在32位内部使用64位可执行文件并在内存中运行它来实现的,因为这个过程将具有与启动器不同的ID。那他们是怎么做到的?
答案 0 :(得分:7)
在他的argument against Any CPU中,Rick Byers还包含一些与此问题相关的背景信息:
由于我们希望人们能够编写可以从32位和64位进程重用的.NET库,我们使用Windows来扩展OS加载程序支持以启用体系结构中立(“AnyCPU”)PE文件。
查看上面的链接以获取更多详细信息。
答案 1 :(得分:1)
PE32扩展了.NET。 platform标志只指定可执行文件的运行位置,可以使用CorFlags.exe进行更改。本文对the .NET File Format有很好的描述。