1

初めての投稿で素朴な質問かもしれませんが、知りたいことがインターネット上で見つかりませんでした。

ファームウェアファイルからファイルを抽出し、ファイル名/ヘッダー/ファイル本体/一部のセクション/オフセットなど、ファイルに関連付けられたさまざまなタイプの情報を保持したいバイナリとテキストの混合タイプのデータと、すべてのファイルは、いくつかのセクション/オフセット/セクション オフセットなどの他のファイル プロパティと相互リンクされたプロパティです。一部のファイル プロパティ情報は、他のファイル プロパティ情報に依存するため、各ファイルを順番に読み取って処理することによってこのプロセスを完了するための設計がわかりません。同時に :(

これらの情報を保持するクラスをいくつか作成しようとしましたが、この種のファイル処理を行うための標準は何かを知りたいです

4

1 に答える 1

0

これは非常に一般的であるため、難しい問題です。最適化戦略は、データの性質、データの構造、データの使用計画に大きく依存します。

一度に 1 つのデータを読み取り、それを適切なメモリ内構造に組み立てるだけで、根本的に問題はありません。もちろん、多くの小さな読み取りは遅くなる可能性があり、読み取りの構造はコードの純粋な塊によってわかりにくくなります。

ディスク上のデータのまとまりのあるビットごとに純粋なデータ オブジェクト (つまり、structc または astructまたはclassc++ のメソッドなし) を定義し、それらを一度に吸い込む方が高速で理解しやすいですが、取得に対処する必要があります。一致するメモリ内パッキングとエンディアン(あなたが書いたのと同じマシンで読んでいるとあなたが言ったことは知っていますが、それでも)。ただし、これはあまり「オブジェクト指向」ではありません。

または、コンテンツをディスクから吸い出す方法を知っている一連のクラスを定義することもできます。優れたオブジェクト指向であり、コードが読み取りのロジックを覆い隠している可能性がありますが、オブジェクトのドキュメントがスラックの大部分を占めているため、読み取りは小さなチャンクで行われます。

無限のバリエーションが可能です。

于 2011-11-18T02:38:34.437 に答える