IAR430中的动态内存分配问题

frankpjl 2007-07-21 09:48:10
#include <stdio.h>
#include <stdlib.h>

int main()
{
int *p1, *p2, *p3, *p4;

p1 = (int *)malloc(sizeof (int));
p2 = (int *)malloc(sizeof (int));
printf("p1: %#x\np2: %#x", p1, p2);
free(p1);
p3 = (int *)malloc(sizeof (int));
printf("\np3: %#x",p3);
p4 = (int *)malloc(sizeof (int));
printf("\np4: %#x",p4);

while(1);
}

这是我才IAR430中写的一段测试malloc函数的程序。
结果如下:
p1: 0x1106
p2: 0x110c
p3: 0x1112
p4: 0x1118
这就说明IAR430 中 free()函数无效吧?这样下去,只要malloc过的内存不都无法使用了?是不是malloc需要像windows系统一样的内存管理支持?
...全文
299 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cceczjxy 2007-07-22
  • 打赏
  • 举报
回复
p3 和 p1 不同并不说明free无效

这个要看平台上内存分配算法

------------------------------

要看内存分配算法
prgmBaggio 2007-07-22
  • 打赏
  • 举报
回复
操作系统的问题,你何必care
frankpjl 2007-07-22
  • 打赏
  • 举报
回复
这是对TI MSP430 MCU的IDE
ivy1023 2007-07-21
  • 打赏
  • 举报
回复
是个嵌入式集成开发环境吗
星羽 2007-07-21
  • 打赏
  • 举报
回复
p3 和 p1 不同并不说明free无效

这个要看平台上内存分配算法

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧