为什么不考虑使用 Lua 实现 Google 的 Protocol Buffers?是否已经有更好的解决方案存在,适用于 Lua?

为什么不使用 Lua 实现 Google 的 Protocol Buffers?是否已经存在更好的 Lua 解决方案?

原文链接 https://stackoverflow.com/questions/2098715

点赞
stackoverflow用户251008
stackoverflow用户251008

可能是因为用 C 或 C++ 实现会更快(且更容易编写),然后你可以将数据交给 Lua 进行使用。

这里有一个 100 行的 C 协议缓冲区解析器:http://blog.reverberate.org/2008/07/12/100-lines-of-c-that-can-parse-any-protocol-buffer/

或者你可以使用 Google 的 C++ 实现,然后从那里将数据交给 Lua。

Lua 并不是为位操作而构建的,所以可能没有人在其中实现过协议缓冲区。它甚至没有内置位运算符:http://lua-users.org/wiki/BitwiseOperators

2010-01-20 03:10:21
stackoverflow用户77070
stackoverflow用户77070

我正在努力:https://github.com/haberman/upb/wiki

此外,我就是编写了上述100行解析器的那个人。但我的upb库更加功能齐全。

2011-02-19 20:34:29
stackoverflow用户98107
stackoverflow用户98107

我刚刚创建了 Lua 实现的协议缓冲区 lua-pb。它可以动态加载/解析 .proto 文件来创建消息对象,因此不依赖于 Google 的标准 .proto 编译器。

它使用 LPeg 解析 .proto 文件,使用 structLua BitOp 进行编码/解码。

2011-06-24 04:20:07