在嵌入式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(使用前将#替换为@)