c - 开发分布式系统时,GCC 工具链的哪些元素应该相同?

标签 c gcc embedded distributed toolchain

我从事 C 嵌入式开发。

我读到,在分布式系统中,您应该对不同节点使用相同的编程语言,或者准备好协调传输数据中的不同数据类型。

对于不同的设备使用不同的工具链是否有这样的警告信号?如果是这样,工具链的哪些部分应该相同?

最佳答案

无论如何,你应该为此做好准备。这不是一个新问题 - 例如,这就是我们在网络上使用 bigendian 数据的原因 - 并且有准备好的工具可以做到这一点,例如 DCE、MPI 或 CORBA。

即使双方使用相同版本的 GCC,它也不会消除架构差异,例如字节顺序、可用数据大小(long 可能是 64 位,int 可能是 16 位 - 对于固定大小,请使用 stdint.h )等等。使用不同的工具链通常并不重要,因为无论哪种方式都存在上述平台和 ABI 差异。

也就是说,当您为多个平台编译程序时,您可能会遇到诸如标准合规性和想要匹配的新功能之类的问题,而获得相同的工具链是实现它的简单方法。这首先是 GNU 背后的驱动力之一,因为非自由供应商有时不仅跟不上,当他们跟上时,他们还想要钱。通常以强制您更换机器的形式出现。

关于c - 开发分布式系统时,GCC 工具链的哪些元素应该相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8455422/

相关文章:

mysql - 将 mysql.h 路径传递给 gcc 编译器

c - pic32中的文件处理

c - 指向另一个结构中的结构的双指针

c++ - 按值内存泄漏的函数调用

macos - OS X上gprof的问题: [program] is not of the host architecture

c - const 变量什么时候初始化?

c - 在 C 中完成程序后,如何防止控制台关闭?

c - 为什么要从 .o 创建一个 .a 文件用于静态链接?

c - 在 Cortex 中,如何将单个字节转换为字?

c - 在嵌入式 C 中查找最接近给定值的多维数组中的值