内存存储使用malloc后产生了越界,什么原因?

[复制链接]
 楼主| 发表于 2025-7-25 16:55 | 显示全部楼层 |阅读模式
// keil
#include "stdlib.h"

unsigned char u1tlen;
char u1tx[48];

funA()
{
BufSize = 432;
psMb->pBuf = malloc(BufSize);        //
}
funB()
{
u1tlen = sprintf(u1tx,"in        %u        %u        %u\r\n",psMb->PosIn,psMb->PosOut,length);
uart1_tx_data((unsigned char*)u1tx,u1tlen);
}
程序经常出错,然后发现在运行u1tlen = sprintf()时居然修改了malloc指向的存储区,不理解,难道内存不够了导致?还是有什么其它原因
您需要登录后才可以回帖 登录 | 注册

本版积分规则

115

主题

201

帖子

2

粉丝
快速回复 返回顶部 返回列表