这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » sprtint 一个sprtint函数的奇怪问题,急,请各位帮忙分析一下.

共2条 1/1 1 跳转至

sprtint 一个sprtint函数的奇怪问题,急,请各位帮忙分析一下.

院士
2006-09-17 18:14:16     打赏
sprtint 一个sprtint函数的奇怪问题,急,请各位帮忙分析一下.



关键词: sprtint     一个     函数     奇怪     问题     各位     帮忙    

院士
2006-12-22 22:43:00     打赏
2楼
问 我用的片子是f147 ,a是int 型变量
sprintf((INT8 *)Buf,"%.2u",a);


这个语句执行结果是正确的,但是它在执行中会奇怪的修改一块RAM区的内容.执行之前,SP指针指向0x5e0,执行这个函数以后,发现0x5c0~0x5e0,之间数据被修,这个应该是sprintf运行需要的堆栈空间吧,奇怪的是,0x524~0x544之间的数据也被修改,从0x5e0到0x524有将近200字节,难道sprintf需要那么大的空间来运行?这个也说不通啊,因为0x544~0x5c0之间却没有被修改,一般来讲堆栈是连续生长的,但是现在看起来象是堆栈生长一部分,然后往下跳过了一部分空间,再继续生长.结果是其它的数据被冲毁了,简直百思不得其解,请各位帮忙分析一下,多谢了.

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]