2

为什么不使用谷歌协议缓冲区的 lua 实现?lua 已经有更好的解决方案了吗?

4

3 回答 3

5

当我们说话时,我正在努力:https ://github.com/haberman/upb/wiki

另外,我是上面写了 100 行解析器的人。但我的 upb 库功能更全面。

于 2011-02-19T20:34:29.407 回答
3

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

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

于 2011-06-24T04:20:07.140 回答
2

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

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

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

Lua 不是为小游戏而构建的,所以也许这就是为什么还没有人在其中实现协议缓冲区的原因。它甚至没有内置按位运算符:http: //lua-users.org/wiki/BitwiseOperators

于 2010-01-20T03:10:21.503 回答