c++ - 为什么多行宏在每行末尾都有反斜杠?

标签 c++ c

在像这样的宏声明中:

#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/

相关文章:

c++ - 在没有加载项的情况下将 Qt 与 Visual Studio 一起使用

c# - Kinect如何检测小人物

c - .BMP 文件无法打开

c - 从 C 语言到汇编语言的 If 语句转换(Motorola 68k)

c - 命名管道不会在 C 程序中打开

c++ - 如何使用C++获取文本文件中的整数总和?

c++ - 派生 QPainterPath,QPainter 性能快速下降

c++ - new datatype*[10] 如何返回指向指针的指针?

python - 检查字符串为 1, 0 否则打印字符串

c - 为什么我的输出为空?