为什么多行宏在每行末尾都有反斜杠? [英] Why do multi-line macros have backslashes at the end of each line?
本文介绍了为什么多行宏在每行末尾都有反斜杠?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在宏声明中,例如:
#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 ;\
}}\
这些反斜杠( \
)是什么意思或
What do these backslashes (\
) mean or do there?
推荐答案
这是行继续符。
有
它对宏特别有用,因为它增加了清晰度。
It's particularly useful for macros as it adds clarity.
b
$ b
(非常偶尔-尤其是在旧代码中,您会看到 trigraph序列 ?? /
代替 \
。这些天,虽然这更多是面试官的技巧
(Very, very occasionally - especially in old code - you'll see the trigraph sequence ??/
in place of \
. These days though it's more of an interviewers' trick question.)
这篇关于为什么多行宏在每行末尾都有反斜杠?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文