在像这样的宏声明中:
#define WAIT_SPI2_TRANSMISSON_END() {while ((SPI2_SR & SPI_SR_TXCTR_MASK) != 0) {\
if( SPI2_SR & SPI_SR_RFDF_MASK ) {\
(void)SPI2_POPR;\
SPI2_SR |= SPI_SR_RFDF_MASK ;\
}}\
这些反斜杠 (\
) 是什么意思?
最佳答案
是一个续行符。
后面应该没有其他内容(除了行尾字符),包括空格。
它对宏特别有用,因为它增加了清晰度。
(非常非常偶尔 - 尤其是在旧代码中 - 你会看到 trigraph 序列 ??/
代替 \
。现在虽然这更像是面试官的技巧问题。)
关于c++ - 为什么多行宏在每行末尾都有反斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19765674/