【发布时间】:2019-02-22 11:28:51
【问题描述】:
我尝试像这样在 GCC 编译器中使用 #error 指令:
#error "The charging pins aren't differing! One pin cannot be used for multiple purposes!"
This 说,我应该使用双引号,所以参数将是单个字符串常量,我可以在其中使用撇号。但是,我希望这个字符串以多行出现在源代码中,例如:
#error "The charging pins aren't differing!
One pin cannot be used for multiple purposes!"
然后,我收到了一些错误消息:
warning: missing terminating " character
#error "The charging pins aren't differing! One pin
error: missing terminating " character
cannot be used for multiple purposes!"
如果我在第一行的末尾插入一个黑斜线,则诊断消息包含第二行开头和第一个单词 (One) 之间的所有空格。如果两行都是字符串,则诊断消息显示内部双引号。
所以问题是:我怎样才能实现这个输出? (或类似的不带双引号,但包括撇号)
#error "The charging pins aren't differing! One pin cannot be used for multiple purposes!"
【问题讨论】:
-
尝试用反斜杠转义换行符。
-
或者把
\n放在错误信息字符串里面。 -
或者干脆
#error The charging pins aren't differing! One pin cannot be used for multiple purposes! -
我选择了最简单的方法,将“不能”改为“不能”。这里有高水平的语法和工程技能。
-
也将“不是”改为“不是”?
标签: c string c-preprocessor directive