繁体   English   中英

在预处理器指令中使用除 # 以外的其他字符

[英]Use another char than # in preprocessor directives

在定义预处理器指令时,有没有办法使用#以外的其他字符? 例子:

代替:

#if 1
foo
#endif

使用? , 例如:

?if 1
foo
?endif

存在用于替换某些字符的三字母序列。 特别是, #字符可以替换为??= 所以下面的代码是有效的:

??=if 1
foo
??=endif

但是,您不能随意替换。

您有两个选择:

  • 三合字母: ??=if 1
  • 有向图: %:if 1

这两个都是 100% 标准 C,但同时被认为是非常糟糕的做法。 然而,主流编译器倾向于警告三合字母而不是二合字母,所以二合字母可能是较小的邪恶。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM