2

Linux を実行している組み込みシステムを使用しています。組み込みターゲットで RAM ディスク ファイルシステムを使用しています。私のアプリケーションはリアルタイム データをキャプチャし、この ramdisk fs 内のファイルに対して標準 C の「fwrite」を実行します。バッファ。アプリケーションに対して透過的な方法でこれを行う方法はありますか? 容量がはるかに大きいストレージ デバイス (eSATA) 上のファイル システムに移行するときに、アプリケーションを変更しないでください。

4

1 に答える 1

2

これを達成する組み込みの方法はありません。

最良のオプションは、おそらく、書き込まれたバイト数のカウントを維持しながら、ファイルの書き込みを処理する小さなラッパー関数を作成することです。

設定した最大サイズに達すると、ファイルの先頭に戻るために呼び出す必要がありrewind()ます。fseek()


mmap()ファイルをメモリ マップし、それを循環バッファのように扱う方が簡単な場合があります。ただし、ここでもラッピングを自分で実装する必要があります。

于 2010-09-24T04:45:02.143 に答える