How is ‘Any CPU’ implemented on low level?
Aren’t there two formats: PE32 and PE64? Both Windows x86 and x64 can run 32-bit. But, it’s not made by having a 64-bit executable inside the 32-bit and run it in memory, because then the process will have a different ID than the starter. So how did they do it?
In his argument against Any CPU, Rick Byers also includes some background information that is relevant to this question:
Check the link above for more detailed information.