打印
[STM8]

cxstm8 编译出现 bad macro argument,但gcc又能编译通过

[复制链接]
980|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
taozhihua1314|  楼主 | 2015-9-19 23:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠好!
最近在使用cxstm8编译下面代码宏定义的代码时出现bad marco argument错误,编译命令:cxstm8 debug.c。 但是我使用gcc去编译又能编译通过,编译命令:gcc debug.c。望各位帮忙分析分析,谢谢!

//debug.c
#include <stdio.h>
#inlude  <stdarg.h>
#include <string.h>

#define  TZH_DEBUG(msg,...) TZH_log("[%s LINE:%d]   "msg"\r\n", __FILE__, __LINE__, ##__VA_ARGS__)

void TZH_log(const char *msg, ...){
    char p_msg[512] ;
    va_list trace_p;

    memset( p_msg, 0, 512);

    va_start(trace_p, msg);
    _vsnprintf( p_msg,512 ,msg ,trace_p);
    va_end(trace_p);

    printf( (char *)p_msg );
}

int main(void){
  TZH_DEBUG("abcdefg");
  return 0;
}
沙发
taozhihua1314|  楼主 | 2015-9-19 23:26 | 只看该作者
重新上传一代码,注释掉没一些没用的,只是编译看宏的定义是否正确
//debug.c
//#include <stdio.h>
//#inlude  <stdarg.h>
//#include <string.h>

#define  TZH_DEBUG(msg,...) TZH_log("[%s LINE:%d]   "msg"\r\n", __FILE__, __LINE__, ##__VA_ARGS__)

void TZH_log(const char *msg, ...){
/*   
    char p_msg[512] ;
    va_list trace_p;

    memset( p_msg, 0, 512);

    va_start(trace_p, msg);
    _vsnprintf( p_msg,512 ,msg ,trace_p);
    va_end(trace_p);

    printf( (char *)p_msg );
*/
}

int main(void){
  TZH_DEBUG("abcdefg");
  return 0;
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝