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 обеспечивает читаемость данных на разных языках и версиях схемы. См. пример Rust
, читающий данные, написанные на C++
.
Перейдите на нашу целевую страницу, чтобы просмотреть нашу документацию.
Библиотеки генерации кода и времени выполнения для многих популярных языков.
FlatBuffers не следует традиционному управлению версиями SemVer (см. обоснование), а скорее использует формат даты выпуска.
flatbuffers
для любых вопросов, касающихся FlatBuffers.Чтобы внести свой вклад в этот проект, см. ВКЛАД.
Чтобы сообщить об уязвимостях, ознакомьтесь с нашей Политикой безопасности.
Flatbuffers распространяется по лицензии Apache версии 2.0. Полный текст лицензии см. в разделе ЛИЦЕНЗИЯ.