为什么32位应用程序比64位版本使用更少的RAM,即使32位可执行文件更大

Che*_*tah 3 .net-4.0

我在.NET中创建了一个应用程序.当我编译64位版本和相同软件的32位版本时,64位可执行文件更小.

但是,当您同时运行它们时,64位版本使用更多RAM.

我确信某些事情正在"幕后"发生,而且只是感兴趣为什么?(不管怎样都不用担心)

谢谢.

编辑:C#.NET 4.0如果重要的话.

Tim*_*oyd 8

在32位应用程序中,指针是32位,即4个字节,而它们是64位,即64位应用程序中的8个字节.所以指针(例如对象引用)占用了两倍的内存.

此外,在32位应用程序中,对象每个对象的开销为12个字节,而在64个应用程序中,它们的开销为24个字节.再加倍.

这些影响将在运行时被注意到,而不是在dll大小中.