我应该担心动态代码生成与用C++编写的其他模块不匹配吗?
Should I worry about dynamic codegen mismatch with my other modules written in C++
我有一个Proto文件,它正在NodeJs和C++中使用。
C++使用的是protoc编译器,而NodeJS使用的是动态代码生成,我担心的是,如果C++使用与我的NodeJS动态代码生成不同的编译器版本,这对我们来说会是一个问题吗?
如果是,你们建议什么来解决这个问题?我应该使用静态代码生成吗?两者的优缺点是什么 如果有人可以帮助我理解,谢谢
同时使用这两种不同的 protobuf/gRPC 代码生成方法应该没有问题。不同的代码生成方法会影响 API,但它们仍使用相同的序列化格式,因此它们可以毫无问题地相互发送消息。事实上,gRPC 具有持续的互操作性测试套件,以确保这些不同的客户端和服务器可以相互通信。
要记住的一个潜在问题是当前 Node.js gRPC 动态代码生成处理重复基元字段的方式存在错误。若要避免此问题,应在任何重复的基元字段上显式设置 packed
属性。
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 尝试导入pybind-opencv模块时出现libgtk错误
- 有没有什么方法可以使用一个函数中定义的常量变量,也可以由c++中同一程序中的其他函数使用
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 为什么我不能在 C++ 中的特定函数重载中调用同一函数的任何其他重载?
- 在其他文件中创建类时在 c++ 项目中不起作用
- 类与私有变量的其他类之间的线程安全性
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- GlobalAlloc而不是其他分配方法
- 没有头文件如何使用c ++调用其他模块中的函数?
- 我应该担心动态代码生成与用C++编写的其他模块不匹配吗?
- 如何添加其他CMAKE模块的静态LIB
- 与具有循环依赖关系的 NS3 模块链接到其他库
- 数据库模块摘要(独立于)游戏的其他模块
- 在库中使用 __gcov_flush 不会强制其他模块生成 .gcda 文件
- 使用boost构建NodeJ模块(或任何其他库)
- 从其他进程获取模块句柄
- 通过元编程或其他方式自动注册dll模块中的静态对象工厂
- c++ 14/17的模块提案是否可以(容易地)使用其他本地语言来生成模块?