マイクロコントローラーでプロジェクトに取り組んでおり、いくつかの設定を保持する必要があります。これが iPod だとします。CurrentSongPlaying
、 などのさまざまな設定を保存CurrentVolume
して、再度電源を入れたときにそれらの設定を復元できるようにする必要があります。私が遭遇している問題は、すべての不揮発性設定をメモリからシリアル化/逆シリアル化できる単一の構造体に保存することは理にかなっていますが、クラスが実行しないとそれを実現する方法を見つけることができません.サイズ/タイプ情報のために保存する必要がある設定を含むすべてのクラスを含む、不揮発性メモリからのシリアライゼーション/デシリアライゼーション。何を保存しているのかを知らなくても、これらすべての設定をメモリに永続化できる設計パターンはありますか?
2 に答える
1
連想配列が必要なだけのようです。連想配列 (またはマップ) は、さまざまな値を一意のキーにマップできるコンテナーです。実装に応じて、固定サイズまたは動的サイズにすることができます。適切なシリアル化メカニズムと組み合わせることで、事前に内容を知らなくても状態を保存および復元できます。
ただし、C はこのデータ構造をそのままでは提供しません。いくつかの実装については、この質問を見てください。最も一般的な実装は、ハッシュ マップとも呼ばれるハッシュ テーブルです。
于 2012-08-03T19:43:56.083 に答える
0
OOP とクラスを C で実装するのは簡単ではありません。
C を使用する必要がある場合は、構造体をファイルに書き込みます。
次に、再起動時の初期化中にそれらを読み取り、解析します。
これは、構造体を自分でシリアライズすることと考えることができます。
于 2012-08-02T22:11:21.720 に答える