OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2120|回复: 7

想自己使用,可变参数函数求指导

[复制链接]

10

主题

32

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-8-7
在线时间
15 小时
发表于 2018-6-13 17:51:17 | 显示全部楼层 |阅读模式
15金钱
void LogEntry(const char *fmt, ...)
{
   unsigned char *buffer;

  va_list ap;
  va_start(ap,fmt);
  snprintf((char*)buffer,Queue_SIZE-1,fmt,ap);
  va_end(ap);
}
想将结果赋值给BUFFER中,我自己写的这个好像BUFFER里面没有值,不知道是哪里的问题。
有没有会的大神,求指导!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2018-6-13 22:50:56 | 显示全部楼层
你的buffer就没申请内存,或者定义成数组吧
回复

使用道具 举报

105

主题

522

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1386
金钱
1386
注册时间
2012-10-23
在线时间
97 小时
发表于 2018-6-14 14:10:15 | 显示全部楼层
buffer是野指针
回复

使用道具 举报

2

主题

168

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
336
金钱
336
注册时间
2018-5-14
在线时间
69 小时
发表于 2018-6-14 14:25:53 | 显示全部楼层

这个“野”字用的好
回复

使用道具 举报

10

主题

32

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-8-7
在线时间
15 小时
 楼主| 发表于 2018-6-14 16:33:28 | 显示全部楼层
275891381 发表于 2018-6-13 22:50
你的buffer就没申请内存,或者定义成数组吧

您好!
我的buffer申请内存了。
用的是buffer=malloc(Queue_SIZE);长度是512。

回复

使用道具 举报

10

主题

32

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-8-7
在线时间
15 小时
 楼主| 发表于 2018-6-14 16:34:02 | 显示全部楼层

buffer=malloc(Queue_SIZE);
用这个函数申请内存了!
不野吧!
回复

使用道具 举报

105

主题

522

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1386
金钱
1386
注册时间
2012-10-23
在线时间
97 小时
发表于 2018-6-14 16:44:57 | 显示全部楼层
show1220 发表于 2018-6-14 16:34
buffer=malloc(Queue_SIZE);
用这个函数申请内存了!
不野吧!

你这样用完还要释放,直接局不变量就可以了
回复

使用道具 举报

10

主题

32

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-8-7
在线时间
15 小时
 楼主| 发表于 2018-6-15 09:54:16 | 显示全部楼层
miaoguoqiang 发表于 2018-6-14 16:44
你这样用完还要释放,直接局不变量就可以了

因为用好之后通过指针的指针来传输这个buffer的地址,进行入队处理。
再别的地方还要通过出队,去读取这个指针的地址,然后去读取buffer的内容。
然后再释放内存,所以应该不能直接用局部变量吧!要申请内存!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-13 06:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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