记录:invalid next size (normal)问题的解决

最后调试程序的时候,已经能跑出正确结果,但是还是报这个错在这里插入图片描述后来参考了这个网站:https://blog.csdn.net/mociml/article/details/6286311
得知是内存泄露的问题。
情况有这三种:
(1)free了没有分配的内存

(2)还有就是分配了内存忘记释放也有可能会出现这样的问题。

(3)最后查出来是数组循环的时候越界了 , 写到了其他的内存里面, 然后一free那个区域就出现了这样的问题。

由于1.2都没问题,所以猜测是(3)中,循环使用小数组的时候它将数据写到了别的内存中。

0100
1
40W

由于并不像开辟40W×100这么大空间的数组,我原本是开辟了1个长度为100的数组作为临时变量,就出现了这个问题。
后面直接改为开辟这么大空间,然后每次读取并计算一些数据就解决了这个问题。

inp_data->query=malloc(Data_line_num*150*sizeof(uint8_t));
for(int i=0;i<40W;i++)
{
fread(&inp_data->query[i*150],sizeof(uint8_t),inp_data->qlen[i],query_data_fp);
&inp_data->query[i*150];
fuc(&inp_data->query[i*150]);
}
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值