Как получить доступ к аргументам, когда переменный макрос вызывает функцию - PullRequest
0 голосов
/ 18 декабря 2018
#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, потому что есть просто ... вместо аргументов ... Я хочу передать все аргументы переменных и строку формата (котораяэто 'fmt') отдельно от Some_api () внутри my_debug.Приведенный ниже вызов Some_api неверен.Как это сделать без использования va_list?

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