【问题标题】:Using the file system to augment ram使用文件系统来扩充内存
【发布时间】:2010-09-20 08:07:34
【问题描述】:

我应该先说我正在开发一款袖珍 PC 应用程序,并且数据文件保存在 sd 卡上。

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

我在 4 gig 卡上有一个 1 gig 文件。
我有 64 兆的板载内存 (ram/data/application/os)
我无法处理数据,因为我需要的数组太大。
访问 sd 卡几乎和 ram 一样快。
我正在使用 C++ (mfc)

访问要用作数组的文件的最佳方法是什么?
还是有其他方法可以做到这一点?

【问题讨论】:

    标签: arrays filesystems ram


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您需要创建一个包含 n 条记录的窗口(将适合内存)并移动该窗口,以便将您正在处理的记录保留在其中。我的 mfc 不够流利,无法给你一个代码示例,但它不会那么难。

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

      【讨论】:

        猜你喜欢
        • 2010-10-28
        • 2011-07-30
        • 2010-12-15
        • 2019-10-15
        • 2017-01-04
        • 2011-08-03
        • 2015-08-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多