当可变参数宏调用函数时如何访问args

时间:2018-12-18 11:35:53

标签: macros variadic

#define myprintf(m_l, fmt...) \
              my_debug(instance, \
                      (uint8)DBG_TRACE_DETAIL, fmt)

'myprintf' gets called somewhere in the code like-



 myprintf(TRACE_LEVEL_6, "Doing %s\n", __FUNCTION__);

下面是my_debug的实现,如何访问传递给my_debug的变量参数,因为这里只是...而不是args ... 我想传递所有变量args和格式字符串(即“ fmt”) 分别与my_debug中的Some_api()分开。以下对Some_api的调用不正确。不使用va_list怎么办?

void my_debug_fn(void *info, uint8 m_level, char *fmt, ...)
        {
            Some_api(fmt,##args);
        }

0 个答案:

没有答案