FlatBuffers は、メモリ効率を最大化するように設計されたクロスプラットフォームのシリアル化ライブラリです。これにより、優れた上位互換性/下位互換性を維持しながら、最初に解析/解凍せずにシリアル化されたデータに直接アクセスできます。
フラットバッファー用のコンパイラー ( flatc
) をビルドする
cmake
使用してプラットフォーム用のビルド ファイルを作成し、コンパイルを実行します (Linux の例)。
cmake -G "Unix Makefiles"
make -j
フラットバッファスキーマ ( .fbs
) を定義します。
シリアル化するデータを定義するスキーマを作成します。例については、monster.fbs を参照してください。
言語に応じたコードを生成する
flatc
コンパイラを使用してスキーマを取得し、言語固有のコードを生成します。
./flatc --cpp --rust monster.fbs
これにより、 monster_generated.h
およびmonster_generated.rs
ファイルが生成されます。
データのシリアル化
生成されたコードとFlatBufferBuilder
使用して、シリアル化されたバッファーを構築します。 ( C++
例)
送信/保存/保存バッファ
シリアライズされたバッファーを自由に使用してください。誰かに送ったり、後で使うために保存したり...
データを読む
生成されたアクセサーを使用して、シリアル化されたバッファーからデータを読み取ります。
同じ言語/スキーマ バージョンである必要はありません。FlatBuffers により、言語とスキーマ バージョンにまたがってデータを読み取れることが保証されます。 C++
によって書き込まれたデータを読み取るRust
例を参照してください。
ランディング ページに移動してドキュメントを参照してください。
多くの一般的な言語のコード生成およびランタイム ライブラリ。
FlatBuffers は、従来の SemVer バージョン管理 (理論的根拠を参照) に従いませんが、リリース日の形式を使用します。
flatbuffers
タグを付けた stackoverflow.com を参照してください。このプロジェクトに貢献するには、 「貢献」を参照してください。
脆弱性の報告については、セキュリティ ポリシーをご覧ください。
Flatbuffers は、Apache License バージョン 2.0 に基づいてライセンスされています。ライセンスの全文については、「LICENSE」を参照してください。