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을 방문하세요.이 프로젝트에 기여하려면 CONTRIBUTING을 참조하세요.
취약점 보고에 대해서는 당사의 보안 정책을 참조하십시오.
Flatbuffers는 Apache 라이선스 버전 2.0에 따라 라이선스가 부여됩니다. 전체 라이선스 텍스트는 LICENSE를 참조하세요.