可变参数应用在调试信息输出

xiaoxiao2021-02-27  230

宏定义的时候可变参数可以用__VA_ARGS__传递,但是只有C99编译器支持

#define debug_printf(...) \ {\ char dataOut2[256];\ sprintf( dataOut2, __VA_ARGS__);\ uart_out(( uint8_t * )dataOut2, strlen( dataOut2 ));\ }

在这里注意vprintf 和 printf区别

vsprintf和sprintf()区别

void dp(char *arg, ...) { char dataOut2[256]; va_list vl; __va_start(vl, arg); vsprintf(dataOut2, arg, vl); __va_end(vl); uart_out(( uint8_t * )dataOut2, strlen( dataOut2 )); }

转载请注明原文地址: https://www.6miu.com/read-11943.html

最新回复(0)