在嵌入式 C 中使用 malloc() [关闭]

2023-12-31

在嵌入式C编程语言中,是malloc()在单任务嵌入式系统中有用吗?

我在嵌入式系统领域工作了 0.5 年。我从来没有用过malloc()在8位控制器编程中。

有人可以建议我使用malloc()8位控制器编程?


在嵌入式系统中,强烈建议不要使用动态分配。关键系统的行为应该是确定性的。许多嵌入式固件的库和操作系统都避免使用动态分配。

有关为什么 malloc 不适合嵌入式系统的简短解释,请参阅:malloc 的罪过 http://www.drdobbs.com/embedded-systems/embedded-memory-allocation/240169150

关键系统的标准可能会禁止使用 malloc 作为一种不良的编程实践。

例如,MISRA C1 和 MISRA C2 不允许使用 malloc/calloc。看MISRA http://www.misra.org.uk/MISRAHome/WhatisMISRA/tabid/66/Default.aspx标准。

问答:动态内存分配 - MISRA 公告栏 http://www.misra.org.uk/forum/viewtopic.php?t=260

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在嵌入式 C 中使用 malloc() [关闭] 的相关文章

随机推荐