首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Protobuf:编译规范一次,到处使用生成的代码?

Protobuf:编译规范一次,到处使用生成的代码?
EN

Software Engineering用户
提问于 2018-12-16 12:03:17
回答 1查看 103关注 0票数 2

一旦编写完,就可以使用protoc将protobuf规范编译成各种不同语言的实现(例如python、c++、go)。太好了。但是要编译生成的代码,您需要一个protobuf开发库,如果我没有弄错,也需要运行时。

有没有一种方法可以以一种纯语言、独立的方式生成实现代码?因此,例如,我将我的实现编译成C++和Python,分发它,人们只需使用标准库就可以使用它。

如果没有,是否有框架(在原则上类似于protobuf ),在给定的规范中生成独立的序列化代码,并且不需要为给定的语言提供其他非标准库?

这个问题源于这样一个事实:最近我不得不在不同的系统上使用protobuf,而且每个系统都有一个不同的开发库。规范应该分别在每个系统上编译吗?如果编译器有不同的版本呢?

EN

回答 1

Software Engineering用户

发布于 2018-12-16 12:34:29

一个“所有平台”的目标,必然要提供一个最小的共同点API,这意味着它将是不友好的使用从大多数语言,而不是惯用。所以不是:通常的方法是选择特定于平台/语言的工具,这些工具可以使用API中最适合该平台/语言的API和技术。

不同的编译器版本并不重要--在protobuf可公开发布的时候,底层的序列化格式根本没有改变。只要语言解析器支持您正在使用的语法版本,它仍然可以工作。

票数 5
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/384117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档