FlatBuffers คือไลบรารีซีเรียลไลซ์ไลซ์ข้ามแพลตฟอร์มที่ออกแบบมาเพื่อประสิทธิภาพหน่วยความจำสูงสุด ช่วยให้คุณเข้าถึงข้อมูลซีเรียลไลซ์ได้โดยตรงโดยไม่ต้องแยกวิเคราะห์/คลายแพ็กก่อน ในขณะที่ยังคงความเข้ากันได้แบบไปข้างหน้า/ย้อนกลับได้ดี
สร้างคอมไพเลอร์สำหรับ flatbuffers ( flatc
)
ใช้ cmake
เพื่อสร้างไฟล์บิลด์สำหรับแพลตฟอร์มของคุณ จากนั้นทำการคอมไพล์ (ตัวอย่าง Linux)
cmake -G "Unix Makefiles"
make -j
กำหนดสคีมา flatbuffer ของคุณ ( .fbs
)
เขียนสคีมาเพื่อกำหนดข้อมูลที่คุณต้องการทำให้เป็นอนุกรม ดูตัวอย่างที่ monster.fbs
สร้างรหัสสำหรับภาษาของคุณ
ใช้คอมไพเลอร์ flatc
เพื่อใช้สคีมาของคุณและสร้างโค้ดเฉพาะภาษา:
./flatc --cpp --rust monster.fbs
ซึ่งสร้างไฟล์ monster_generated.h
และ monster_generated.rs
ทำให้ข้อมูลเป็นอนุกรม
ใช้โค้ดที่สร้างขึ้น รวมถึง FlatBufferBuilder
เพื่อสร้างบัฟเฟอร์ซีเรียลไลซ์ของคุณ (ตัวอย่าง C++
)
ส่ง/จัดเก็บ/บันทึกบัฟเฟอร์
ใช้บัฟเฟอร์ซีเรียลไลซ์ของคุณตามที่คุณต้องการ ส่งให้ใครสักคน บันทึกไว้เพื่อใช้ในภายหลัง ฯลฯ...
อ่านข้อมูล
ใช้ตัวเข้าถึงที่สร้างขึ้นเพื่ออ่านข้อมูลจากบัฟเฟอร์แบบอนุกรม
ไม่จำเป็นต้องเป็นภาษา/เวอร์ชันสคีมาเดียวกัน FlatBuffers ช่วยให้มั่นใจได้ว่าข้อมูลสามารถอ่านได้ในภาษาและเวอร์ชันสคีมา ดูตัวอย่าง Rust
ที่อ่านข้อมูลที่เขียนโดย C++
ไปที่หน้า Landing Page ของเราเพื่อเรียกดูเอกสารของเรา
การสร้างโค้ดและไลบรารีรันไทม์สำหรับภาษายอดนิยมมากมาย
FlatBuffers ไม่เป็นไปตามเวอร์ชัน SemVer แบบดั้งเดิม (ดูเหตุผล) แต่ใช้รูปแบบของวันที่เผยแพร่
flatbuffers
สำหรับคำถามใดๆ เกี่ยวกับ FlatBuffersเพื่อสนับสนุนโครงการนี้ ดูที่การมีส่วนสนับสนุน
โปรดดูนโยบายความปลอดภัยของเราสำหรับการรายงานช่องโหว่
Flatbuffers ได้รับอนุญาตภายใต้ Apache License เวอร์ชัน 2.0 ดูใบอนุญาตสำหรับข้อความใบอนุญาตฉบับเต็ม