C++:
tutorial::Person person;
person.set_name("Alice");
person.set_id(123)
std::string stringbuffer =person:SerializeAsString();
字符传给lua
Lua:
local file = "person.pb";
protobuf.register_file(file)
result = protobuf.decode("tutorial.Person", stringbuffer)
result一直是false
有遇到的不?
已经解决了。
是由于C++序列化后的字符串中有\0这个字符,lua获取长度不正常,所以无法decode。
可以修改basic.lua 做替换