Home - YunKaiRiYueLang/easyToUseHisiSVP GitHub Wiki

Welcome to the easyToUseHisiSVP wiki!

这里会有更详细的额外笔记

在参与海思芯片svp开发中遇到的问题

编译报错

  1. error: 'OSA_ERROR' was not declared in this scope

这是一个宏定义:

#define OSA_ERROR(...) \
  do \
  { \
  fprintf(stderr, " ERROR  (%s|%s|%d): ", __FILE__, __func__, __LINE__); \
  fprintf(stderr, __VA_ARGS__); \
  } \
  while(0);

用fprintf向指定FILE对象写入数据流。 fprintf函数声明 int fprintf (FILE* stream, const char*format, [argument]) VA_ARGS 是一个可变参数的宏,很少人知道这个宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持)。 实现思想就是宏定义中参数列表的最后一个参数为省略号(也就是三个点)。对该宏,例子如下: #define my_print1(...)  printf(VA_ARGS)   my_print1("i=%d,j=%d\n",i,j)  正确打印

#define my_print2(fmt,...)  printf(fmt,VA_ARGS)  

my_print1("i=%d,j=%d\n",i,j) 正确打印