与 c 相比,为什么开发人员将 c/c++ 用于嵌入式系统,而不是像 python 这样的高级语言?

Lok*_*ran 2 c c++ embedded operating-system system

我们可以像在 c/c++ 中那样通过 python 访问内存吗?用 c 编程有一段时间了,遇到了这个问题?我看到超过 90% 的代码是用 c/c++ 为嵌入式系统编写的

小智 6

与 c 相比,为什么开发人员将 c/c++ 用于嵌入式系统,而不是像 python 这样的高级语言?

对此的答案肯定是部分历史性的。

C 最初设计用于操作系统

最初,C 语言被开发用于 UNIX 操作系统。它继承了以前语言的许多特性,如 B 和 BCPL。

我想这与它在嵌入式系统中的使用有很大关系。

另一方面,C++是从 C 派生而来的

1979 年,丹麦计算机科学家 Bjarne Stroustrup 开始研究“C with Classes”,这是 C++ 的前身。 [15] 创建一门新语言的动机源于 Stroustrup 在他的博士论文中的编程经验。Stroustrup 发现 Simula 具有对大型软件开发非常有帮助的特性,但该语言在实际使用时速度太慢,而 BCPL 速度快但级别太低,不适合大型软件开发。当 Stroustrup 开始在 AT&T 贝尔实验室工作时,他遇到了在分布式计算方面分析 UNIX 内核的问题。记住他的博士学位 根据经验,Stroustrup 开始使用类似 Simula 的功能来增强 C 语言。 [16] 选择 C ​​是因为它是通用的、快速的、可移植的并且被广泛使用。以及 C 和 Simula 的影响,

最初,Stroustrup 的“C with Classes”为 C 编译器 Cpre 添加了特性,包括类、派生类、强类型、内联和默认参数。 [17]

1982 年,Stroustrup 开始开发带有类的 C 的继承者,在经历了其他几个名称之后,他将其命名为“C++”(++ 是 C 中的增量运算符)。添加了新功能,包括虚函数、函数名称和运算符重载、引用、常量、类型安全的自由存储内存分配(新/删除)、改进的类型检查和带有两个正斜杠 (/ /)。此外,Stroustrup 为 C++ 开发了一个新的独立编译器 Cfront。

因此,虽然现在这些语言已经出现了显着差异,但它们彼此非常相似。

另一方面,Python旨在操作系统一起使用,而不是创建它们:

编程语言Python中的构想在80年代末,1和它的实现是在1989年12月开始2由Guido van Rossum的在CWI在荷兰的继任者农行能够异常处理,并与阿米巴操作系统接口。


Ran*_*tep 6

像 Python 这样的语言是通过解释运行的,这意味着您需要在硬件和程序之间使用另一个软件来读取它。

另一方面,像 C 或 C++ 这样的语言被编译成机器码,以便机器可以直接读取它们。

并且由于您询问了内存管理,Python 并没有像 C 或 C++ 那样为您提供精确的内存管理。