是有类似protoc但跨平台编译器的东西

时间:2013-05-10 15:50:23

标签: serialization protocol-buffers

protoc.exe是为windows构建的。每个其他发行版,你必须自己编译protoc才能使用它。我们真的想把像protoc这样的东西放到我们的项目中,但是对于不同操作系统上的任何人都有麻烦,有很多工作要做。因此,对于这个项目,protoc基本上是死的。

是否有另一个类似protoc的库可以生成具有跨平台编译器的对象/ DTO和marshallers / unmarshallers? (Java编译器会很棒,因为我们可以将它连接到我们的gradle构建中)。

感谢, 迪安

3 个答案:

答案 0 :(得分:2)

  1. Avro Project类似于Protocol Buffers(虽然它有自己的格式)并且有一个Java编译器。 Avro定义可以是IDL(与协议缓冲区不同)和JSon。一个问题是Jar for Avro很大(它使用了很多其他Jars

  2. 您可以查看Java-Byte-Code的编译协议。有几个可用的项目,请参见cibyl lists several cross compilers。结果会很慢而且很大但可能会有效。

答案 1 :(得分:0)

协议缓冲区应该是跨平台编译器

Protoc缓冲区还有其他替代方法,例如xstreamJacksonGSON。有一套详细的答案Here

希望这有帮助!

答案 2 :(得分:0)

我没试过,如果它有效,可能你可以在JVM上运行protoc。有几个在JVM上运行C ++的编译器。

请参阅Compiling C++ for the JVM