Arrays 使用文件系统扩充ram

Arrays 使用文件系统扩充ram,arrays,filesystems,ram,Arrays,Filesystems,Ram,首先,我应该说我正在开发一个pocket PC应用程序,数据文件在sd卡上 我有一个应用程序,必须创建一个大小为x的数组。 马洛克每次都失败了 我在一张4G卡上有一个1G文件 我有64兆的板载内存(ram/数据/应用程序/操作系统) 我无法处理数据,因为我需要的阵列太大 访问sd卡几乎和ram一样快 我在C++(MFC)中工作 访问要用作数组的文件的最佳方式是什么? 或者有其他方法来实现这一点吗?您应该为数组创建一个足够大的文件,并适当填充(根据GetSystemInfo),然后使用Create

首先,我应该说我正在开发一个pocket PC应用程序,数据文件在sd卡上

我有一个应用程序,必须创建一个大小为x的数组。 马洛克每次都失败了

我在一张4G卡上有一个1G文件
我有64兆的板载内存(ram/数据/应用程序/操作系统)
我无法处理数据,因为我需要的阵列太大
访问sd卡几乎和ram一样快
我在C++(MFC)

中工作 访问要用作数组的文件的最佳方式是什么?

或者有其他方法来实现这一点吗?

您应该为数组创建一个足够大的文件,并适当填充(根据GetSystemInfo),然后使用CreateFileMapping/MapViewOfFile映射文件


至少,这是我的第一次尝试-可能会限制映射文件在CE上的大小。

您需要创建一个包含n条记录的窗口(可以放入内存)并移动该窗口,以便将正在处理的记录保留在其中。我的mfc不够流利,不能给你一个代码示例,但这并不难

在c#中,我会编写一个自定义IEnumerable