#define DPRINTF(fmt,...) Serial.print(fmt,##VA_ARGS) 编译器不支持C++11,应该怎么修改
时间: 2024-02-23 14:59:13 浏览: 157
#pragma使用详解 .pdf
4星 · 用户满意度95%
如果你的编译器不支持C++11,你可以使用以下的代码来替代`#define DPRINTF(fmt,...) Serial.print(fmt,##VA_ARGS)`:
```
#define DPRINTF(fmt, ...) { \
char buffer[256]; \
snprintf(buffer, 256, fmt, ##__VA_ARGS__); \
Serial.print(buffer); \
}
```
这段代码使用了`snprintf()`函数来格式化字符串并将其存储到一个缓冲区中,然后使用`Serial.print()`函数将缓冲区中的字符串打印出来。这样就可以避免使用`__VA_ARGS__`宏了。注意,这里的缓冲区大小是256字节,你可以根据需要进行调整。
阅读全文