STM8 COSMIC 头文件stdarg调用vsprintf报错

lan120576664 2013-10-31 10:55:49
void MPrintf(const char *fmt,...)
{
char string[64];
va_list args;
va_start(args,fmt);
vsprintf(string,fmt,args);
va_end(args);
}

报 symbol _vsprintf not defined 出错!
文件头,#include <stdarg.h>已经包了。同时
在COSMIC的stdarg.h文件中可以看到

/* VARIABLE ARGUMENT LIST HEADER
* Copyright (c) 2006 by COSMIC Software
*/

#ifndef __STDARG__
#define __STDARG__ 1

/* type declarations
*/
typedef char *va_list;

/* macro declarations
*/
#define va_start(ap, arg) ((ap) = (char *)&(arg) + sizeof(arg))
#define va_arg(ap, ty) ((ap) += sizeof @(ty), *(ty *)((ap) - sizeof(ty)))
#define va_end(ap) ap

/* io functions using va_list
*/
int vprintf(char *format, va_list ap);
int vsprintf(char *s, char *format, va_list ap);

#endif



哪位知道这个问题的解决方法吗?

...全文
262 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lan120576664 2013-11-02
  • 打赏
  • 举报
回复
我只能说同样的代码在IAR中完全编译没有问题,在COSMIC中就编译不过。 有没有包含我就不知道了,反正头文件都包含了进入。把vsprintf(string,fmt,args);这句注释掉也能够编译过去。 感觉免费的还是不靠谱,毅然转IAR。
cpuwolf 2013-10-31
  • 打赏
  • 举报
回复
你确定你编译的是你看到的文件么

27,372

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧