Home - YunKaiRiYueLang/easyToUseHisiSVP GitHub Wiki
Welcome to the easyToUseHisiSVP wiki!
这里会有更详细的额外笔记
在参与海思芯片svp开发中遇到的问题
编译报错
- 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) 正确打印