首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >工作站与嵌入式程序员的思维差异

工作站与嵌入式程序员的思维差异
EN

Stack Overflow用户
提问于 2009-02-12 04:30:32
回答 5查看 1.2K关注 0票数 10

你认为程序员在桌面环境下工作的心态有什么不同?(windows,linux,什么的)还有人在做嵌入式系统的工作?

我可以想到的一个简单例子是,在嵌入式环境中,我总是检查malloc是否为空。我见过的大多数代码中,目标桌面显然不勤奋地检查malloc返回值。

还有其他思维差异的例子吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-02-12 06:00:32

有趣的是,您在示例中特别提到malloc()。

在我工作过的每一个硬实时、深嵌入式系统中,内存分配都是专门管理的(通常不是堆,而是固定的内存池或类似的东西).而且,只要有可能,所有内存分配都会在初始化过程中提前完成.这比大多数人想象的要容易得多。

malloc()易受碎片的影响,不确定,并且不讨论内存类型之间的问题。有了内存池,你可以有池的位置/从超级快SRAM,快速DRAM,电池支持RAM (我见过),等等。

还有其他一百个问题(回答您最初的问题),但是内存分配是一个很大的问题。

另外:

对硬件平台的尊重/知识-不自动包含硬件是完美的,甚至是某些语言特性的functional

  • Awareness &特性(例如,C++中的异常) --可能会导致事物偏离方向-- CPU加载的quickly

  • Awareness和中断、抢占的内存utilization

  • Awareness,以及对共享数据的影响(在绝对必要的情况下--共享数据越少--越好)

  • --大多数嵌入式系统都是数据/事件驱动的,而不是民意测验;当然也有例外,大多数嵌入式开发人员对状态机和有状态behavior/modeling

的概念相当满意。

票数 15
EN

Stack Overflow用户

发布于 2009-02-12 04:53:02

桌面程序员认为资源实际上是无限的。内存,计算能力,驱动空间。那些永远不会用完。嵌入式程序员专注于所有这些。

哦,嵌入式程序员也经常要担心内存对齐问题。台式机不需要。手臂芯片很好用。x86芯片不能。

票数 9
EN

Stack Overflow用户

发布于 2009-02-12 04:37:42

我的桌面环境有这样的想法:“嗨,我总是可以发布一个更新或者补丁来解决这个问题。”在嵌入式设计中,你会得到更多“这必须工作,因为我们不想召回设备或发布一个更长的补丁程序。”

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

https://stackoverflow.com/questions/540025

复制
相关文章

相似问题

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