打印

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

[复制链接]
570|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ee168|  楼主 | 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

粉丝