为什么嵌入式c中不经常使用指针?

1 c embedded pointers

我在一次采访中遇到了这个问题。谁能提供一下在嵌入式 C 语言中使用指针的优点和缺点吗?

Kin*_*ley 8

面试问题都是垃圾。嵌入式系统始终使用指针。

我认为预期的讨论点是嵌入式系统有时具有相当低的内存量。在这些系统中,通常执行系统/应用程序级编程中使用的典型内存分配 ( malloc()/ ) 例程。free()面试问题混淆了“使用指针”和“分配动态内存”(可能是故意的)。

在嵌入式系统上,通常程序将使用的所有内存都是静态分配的。

当然,这也有很多取决于这里。Attiny只有 1 KB 左右的 RAM,而STM32这样东西却有很多倍。

编辑:螺旋桨可以有 512k/1MiB。请注意,这比 20 世纪 80 年代和 90 年代初的许多工作站的内存要多得多。

  • 一切都很好,但请注意,内存可用性并不是与嵌入式系统中的动态内存分配相关的唯一问题,甚至不一定是最重要的问题。堆分配和释放通常具有不确定的执行时间,这在硬实时系统中是一场灾难。 (2认同)