2008-11-01 31 views
1

我應該說這是因爲我正在開發一款袖珍PC應用程序,並且數據文件存在於SD卡上。使用文件系統來擴充內存

我有具有產生大小爲x的陣列的應用程序。 malloc每次都失敗。

我有一個4演出卡上1G的文件。
我有板載內存(RAM /數據/應用程序/ OS)
我不能處理這些數據,因爲我需要的陣列過大的64兆。
訪問SD卡幾乎與RAM一樣快。
我正在使用C++(mfc)

什麼是訪問文件的最佳方式我將用作​​數組?
還是會有不同的方式來做到這一點?

回答

2

你應該創建足夠的陣列大的文件時,適當襯墊(根據的GetSystemInfo),以及與的CreateFileMapping/MapViewOfFile文件映射。

ATLEAST,這將是我第一次嘗試 - 有可能是在映射文件能有多大的CE限制。

0

你需要創建N個記錄的窗口(將適合在內存中)和移動該窗口以保持該記錄(S)你在它做的工作。我沒有足夠的mfc來給你一個代碼示例,但它不會那麼辛苦。

在C#中我會寫一個自定義的IEnumerable <牛逼>