设为首页 加入收藏

TOP

嵌入式系统中,动态分配内存可能发生的问题是什么?
2014-11-23 21:36:35 来源: 作者: 【 】 浏览:2
Tags:嵌入式 系统 动态 分配 内存 可能 发生 问题 什么

尽管不像非嵌入式计算机那么常见,嵌入式系统还是有从堆(heap)中动态分配内存的过程的。那么嵌入式系统中,动态分配内存可能发生的问题是什么?


这里,我期望应试者能提到内存碎片,碎片收集的问题,变量的持行时间等等。这个主题已经在ESP杂志中被广泛地讨论过了(主要是 P.J. Plauger, 他的解释远远超过我这里能提到的任何解释),所有回过头看一下这些杂志吧!让应试者进入一种虚假的安全感觉后,我拿出这么一个小节目:下面的代码片段的输出是什么,为什么?


char *ptr;


if ((ptr = (char *)malloc(0)) == NULL)


puts(“Got a null pointer”);


else


puts(“Got a valid pointer”);


这是一个有趣的问题。最近在我的一个同事不经意把0值传给了函数malloc,得到了一个合法的指针之后,我才想到这个问题。这就是上面的代码,该代码的输出是“Got a valid pointer”。我用这个来开始讨论这样的一问题,看看被面试者是否想到库例程这样做是正确。得到正确的答案固然重要,但解决问题的方法和你做决定的基本原理更重要些。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇飞立信loadrunner和软件测试笔试题 下一篇上海微创软件面试题

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: