私は、OS を使用しない非常に特殊なプラットフォームで作業しています。当面のタスクでは、実行時にアクセスするために、文字列やビットマップなどのリソースをすべてコード バイナリとは別に生のバイナリ データに格納する必要があります。
ストレージブロックの直接読み取りおよび書き込みメカニズムの実装はありますが、ファイルシステムはありません。言語はほとんどの場合、プラットフォーム コンパイラの制限であるテンプレートと例外のない C++ であるため、stl と boost はありません。
これらの制限を考えると、前述のリソースをディスクに保存し、何らかのキーを使用してそれらにアクセスするための単純なデータベース ストレージ アプローチが必要です。私は当分の間、単純なフラット バイナリ ストレージを使用し、数値 ID (リソースの生バイトのオフセットを取得するためのテーブル インデックス) でアドレス指定できる独自のものを作成しました。ただし、リソース ID を手動で追跡し、それらが 0 から順番に割り当てられていることを確認する必要があるため、これを使用するのは非常に不便です。
要件に合わせて比較的簡単に変更でき、短い文字列をキーとして使用できるようにハッシュ関数の展開を開始する前にコードベースと統合できる、より優れたライブラリ ソリューションが既に存在するのではないかと考えています。ストレージは一度生成されると一定であり、読み取りのためにのみアクセスされます。
編集:私が必要としているのは、ランタイムリンカーとファイルシステムなしで機能する(または簡単に機能する)リソースdllの代替品だと思います。