首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >嵌入式平台开发(!C)

嵌入式平台开发(!C)
EN

Stack Overflow用户
提问于 2009-02-27 22:33:03
回答 19查看 2.5K关注 0票数 16

我很想知道C的替代品在嵌入式开发界有多流行,比如Ada.

我只使用过C(有一点点汇编程序),但是我的目标资源非常有限。在这个空间里,还有别的地方可以搬到别的地方吗?什么是在机顶盒里赢得奖杯?

如果!C,根本原因是什么?

  • 对目标的编译器支持
  • 微量静态分析工具
  • 另一个..。

谢谢。

EN

回答 19

Stack Overflow用户

回答已采纳

发布于 2009-02-28 01:12:19

第四在嵌入式开发中非常流行。

而且,虽然小谈话在嵌入式社区中可能不流行,但嵌入式开发肯定在Smalltalk社区中很受欢迎。

票数 6
EN

Stack Overflow用户

发布于 2009-07-31 20:35:58

当您说“嵌入式开发”时,请记住,您必须考虑项目的规模。

当为ASIC设计某种规模的微控制器或固件时,你往往会看到C和汇编占据主导地位。嵌入式开发人员倾向于对这些语言进行“专门化”,因为几乎每个嵌入式目标平台都可以使用这些语言的编译器。如果您的项目从一个具有PowerPC核的芯片迁移到一个带有ARM内核的芯片,您可以相当确信您的C代码不会太难移植。有些芯片确实有其他语言可用的编译器,但通常它们在结果二进制文件的效率方面与C编译器不匹配。由于嵌入式系统通常缺乏资源,所以系统设计人员希望使代码尽可能高效(这也是您看到大量汇编语言代码的原因之一)。我已经看到了C++、Pascal、Basic等语言可以使用的开发工具,但它们通常是一些特殊的工具,还不足以与可用的C编译器的效率相匹配。这些语言的调试工具也往往比为C/程序集提供的工具更难找到。

你还提到了机顶盒。这种规模的嵌入式系统可以像7-8年前的台式计算机那样强大。他们可用的RAM、存储空间和处理能力使他们能够运行功能齐全的操作系统和高级语言的解释器。在这些功能更强大的系统上,您仍然可以看到C和汇编语言正在被使用(如果没有其他的话),但是其他语言(如Java、Lua、Tcl、Ruby等)正变得越来越普遍。使用解释语言可以使代码从一个平台移植到另一个平台更加容易,只要该平台有足够的资源来处理语言解释器的开销。任何直接与硬件(驱动程序)接口的低级代码通常仍然使用程序集或C,因为高级语言并不总是具有这样的功能。在嵌入式操作系统之上运行的任何应用程序通常都可以在模拟器或虚拟机中进行开发和测试,因此您将看到许多代码正在以开发人员碰巧熟悉的任何语言进行开发。

TLDR版本:C之所以流行是因为它是一种几乎所有开发人员都熟悉的通用语言。程序集之所以流行,是因为它允许低级别的硬件访问,否则将是困难的或不可能的。解释/脚本语言(如Java )正变得越来越流行,但是对于某些嵌入式系统来说,这些语言的解释器所需的资源可能太多了。C语言和汇编语言的开发/调试工具的质量和多样性也使这些选项具有吸引力。

票数 5
EN

Stack Overflow用户

发布于 2009-03-01 00:44:51

也许与您所要寻找的C之间的距离不大,但是C++在嵌入式项目中也很受欢迎。

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

https://stackoverflow.com/questions/596929

复制
相关文章

相似问题

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