我正在将32位CPU仿真器从python转换为C.
32位地址空间==> 4GB的内存,但这比许多机器可以处理的内存更多。出于这个原因,在Python模拟器中,我使用了一个dict,因为它可以访问整个地址空间,但是一次只能使用一小部分。
在C中,我想保留对整个地址空间的访问(因为基于C的仿真器能够在几秒钟内读取或写入整个地址空间)但保持内存可管理(所以没有4gb数组),并保持高性能(在c中重写模拟器的主要原因)。
我想到的一个解决方案是创建一个分页系统,因此只有少量数组存储在内存中,其余的存储在磁盘上。我怎么能实现这个(我是C的新手),还有更好的解决方案吗?