我努力将现有的 x64 软件制作成 x86 版本。
在x64下大概需要6G~10G内存,但是在运行x86版本的时候大概需要1.5G内存就崩溃了。
我想知道是否有一种简单的方法可以让缓存文件/临时文件在没有太多代码更改的情况下进行一些内存<->硬盘交换?
谢谢
如果它崩溃了,你有一个错误(或几个)要修复。
您是否可以使您的代码在最大 2-3G RAM 的 32 位模式下工作在很大程度上取决于代码。而且您可能更有能力回答这个问题,因为您已经获得了代码,而且我们对它应该做什么以及它是如何工作的一无所知。
一些想法:
union
),尽量减少未使用的空间和不必要的数据副本PAE
new
如果它是 C++,您可以尝试通过重载/delete
和[]
/ *
/->
并在后台管理磁盘 I/O 的内存来“扩展”虚拟地址空间和可用内存量。您可以使用内存映射文件或普通文件。这可能会变得丑陋且难以正确快速地完成。VM
之上或与您的 32 位操作系统并行运行的 64 位应用程序中运行。不过,您可能不喜欢速度或障碍。祝你好运!