首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在开发分布式系统时,GCC工具链的哪些元素应该是相同的?

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

Stack Overflow用户
提问于 2011-12-10 16:45:34
回答 2查看 104关注 0票数 0

我在做C语言的嵌入式开发。

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-10 17:05:18

无论如何,您可能都应该对此做好准备。这并不是一个新问题--例如,这就是为什么我们在网络上使用大数据的原因--而且已经有一些工具可以做到这一点,比如DCE、MPI或CORBA。

即使你在两端使用相同的GCC版本,它也不会消除架构上的差异,比如字节顺序、可用的数据大小(long可能是64位,int可能是16位-对于固定大小,使用stdint.h)等等。使用不同的工具链通常无关紧要,因为上面提到的平台和ABI的差异是存在的。

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

票数 1
EN

Stack Overflow用户

发布于 2011-12-10 17:17:27

将自己锁定在一个工具或工具链上没有多大意义,因为在应该能够与其他人通信的分布式系统中,您无论如何都必须考虑通信协议和数据表示。例如,即使您使用相同的工具链,目标体系结构可能具有不同的内部数据表示,例如字节顺序,而软件必须注意这一点。

我建议设计不依赖于目标系统架构或特定工具链的通信协议。这样,当需求发生变化时,您将省去重新设计系统的麻烦(例如,可能必须添加另一个目标体系结构,该体系结构的二进制数据表示与“常用”体系结构不兼容,或者它可能需要一些特殊的工具)。

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

https://stackoverflow.com/questions/8455422

复制
相关文章

相似问题

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