Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Linux を実行している組み込みシステムを使用しています。組み込みターゲットで RAM ディスク ファイルシステムを使用しています。私のアプリケーションはリアルタイム データをキャプチャし、この ramdisk fs 内のファイルに対して標準 C の「fwrite」を実行します。バッファ。アプリケーションに対して透過的な方法でこれを行う方法はありますか? 容量がはるかに大きいストレージ デバイス (eSATA) 上のファイル システムに移行するときに、アプリケーションを変更しないでください。
これを達成する組み込みの方法はありません。
最良のオプションは、おそらく、書き込まれたバイト数のカウントを維持しながら、ファイルの書き込みを処理する小さなラッパー関数を作成することです。
設定した最大サイズに達すると、ファイルの先頭に戻るために呼び出す必要がありrewind()ます。fseek()
rewind()
fseek()
mmap()ファイルをメモリ マップし、それを循環バッファのように扱う方が簡単な場合があります。ただし、ここでもラッピングを自分で実装する必要があります。
mmap()