Я пытаюсь сериализовать базовую c структуру с плоскими буферами на C ++, например:
struct Vec3 {
x:float;
y:float;
z:float;
}
с кодом ниже:
Vec3 my_pos = {1.1, 1.2, 1.3};
auto myOtherItemn = myBuilder.CreateStruct<Vec3>(position);
myBuilder.Finish(myOtherItemn);
Теперь, когда я отображаю размер мой pos:
printf("size of Vec3 : %d\n", sizeof(MyGame::Sample::Vec3));
размер 12 , как и ожидалось. размер с плавающей запятой составляет 4 байта.
, но после сериализации размер сериализованного объекта:
printf("size of serialized data: %d\n", myBuilder.GetSize());
равен 16
, когда я проверяю, есть 4 байта в начале сериализованных данных. Я не доволен этими дополнительными 4 байтами. Я хочу избавиться от этого.
Так есть ли способ получить сериализованный вывод того же размера, что и исходный размер структуры (а именно 12 для этого случая)?