我用IAR MSP430写程序,用到malloc动态分配内存时,编译没错误,但调试的时候总是没分给内存。

sym_x=(unsignedchar**)malloc(sn*2);//为变量的指针分配空间for(i=0;i<sn-'0';i++){sym_x[i]=(unsign... sym_x=(unsigned char**)malloc(sn*2);//为变量的指针分配空间
for(i=0;i<sn-'0';i++)
{
sym_x[i]=(unsigned char*)malloc(vn*1*5);//给每个变量分配空间(设平均精度为5)
}
语句就这样。。
将编译器调为C++,然后用new就好了,但为了与别的程序兼容,必须用C呀~~有没有谁知道如何用在IAR环境下用C语言动态分配内存?
展开
 我来答
无心话语wham
2011-07-04
知道答主
回答量:11
采纳率:0%
帮助的人:16.5万
展开全部

1.你选的什么库?

2.是否设置了堆的大小?

3.malloc是否支持地址不对齐的申请?对于32位系统,每次申请要求是4的缺森整数倍,16位系统应派扮尘该是2的整数倍,像你这样每次申请5,先不说支持不支持,即使支持,多浪费啊,因尘禅为内部都是定长分配,方便寻址

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式