我可以将 proto2 生成的代码存根与 libprotobuf3.x 一起使用吗?
Can I use proto2 generated code stubs with libprotobuf3.x?
我有一个使用 proto2 和 libprotobuf2.x 的遗留应用程序。我希望此应用程序与 proto3 通信的另一个应用程序应用程序。
我检查了可能的解决方案和此 thread 中的讨论
说 libprotobuf3.x 提供与 proto2 的兼容性。
这是否意味着我可以使用相同的 proto(与 proto2)和相同的代码存根 pb.h/pb.cpp 为 proto2 生成并且 link 我的遗留应用程序与 libprotobuf3.x 相反,它会像一个魅力?
我不想将遗留原型更新为 proto3,因为它可能需要对遗留代码进行重大重构。
不,您不能 link .pb.*
使用 protoc
2.0 生成的文件针对 libprotobuf
3.0。
与任何共享库一样,主版本号的增加意味着重大 API 更改。
与 proto2
的兼容性意味着支持 Proto 2 语法 (syntax = "proto2"
)。另外 proto3
是 binary-compatible 和 proto2
在电线上。
I don't want to update legacy protos to proto3 as it might require major refactoring in the legacy code.
很有可能,如果你 re-generate 你的 .pb
文件 protoc
3 并重新编译,它无需重构就可以工作(默认语法仍然是 proto2)。
我有一个使用 proto2 和 libprotobuf2.x 的遗留应用程序。我希望此应用程序与 proto3 通信的另一个应用程序应用程序。
我检查了可能的解决方案和此 thread 中的讨论 说 libprotobuf3.x 提供与 proto2 的兼容性。
这是否意味着我可以使用相同的 proto(与 proto2)和相同的代码存根 pb.h/pb.cpp 为 proto2 生成并且 link 我的遗留应用程序与 libprotobuf3.x 相反,它会像一个魅力?
我不想将遗留原型更新为 proto3,因为它可能需要对遗留代码进行重大重构。
不,您不能 link .pb.*
使用 protoc
2.0 生成的文件针对 libprotobuf
3.0。
与任何共享库一样,主版本号的增加意味着重大 API 更改。
与 proto2
的兼容性意味着支持 Proto 2 语法 (syntax = "proto2"
)。另外 proto3
是 binary-compatible 和 proto2
在电线上。
I don't want to update legacy protos to proto3 as it might require major refactoring in the legacy code.
很有可能,如果你 re-generate 你的 .pb
文件 protoc
3 并重新编译,它无需重构就可以工作(默认语法仍然是 proto2)。