mirror of
https://github.com/fumiama/simple-protobuf.git
synced 2026-06-05 00:10:24 +08:00
abb62804c065bbb4ae207d4357b40039357712e5
simple-protobuf
English | 简体中文
A simplified variant of Google's ProtoBuf.
format
A simple-protobuf file can be filled into a C struct directly, but no pointer is supported.
The sp file format is shown below.
[struct_len] + n*[[type][data_len][data]]
typeis an one-byte number indicating the type length(2^type^bytes) of this struct item.*_lenis a length-variable LE number(less than 2^57^) indicating the length of*.datacontainsdata_lenbytes of the data.
usage
You can read test.c to find out the detailed usage.
Save a struct
1. Create items type info array
This array has type uint8_t, which indicates the length of each struct item. Note that the length of each item must be 2^n^.
2. Align items type info array
You can use function align_struct to align each item to the proper size.
If you are sure that your struct has been aligned, you won't need to run align_struct.
3. Call set_pb to save
Read into a struct
1. Open file
2. Call get_pb to read
Languages
C
91.8%
CMake
8.2%