在C预处理中重新定义关键字:标准合规性
> > >
>
>
>>使用#Define重新定义语言关键字在开发人员社区中引发了辩论。本文介绍了有关此实践的标准。>标准符合重新定义的关键字 >>>根据C标准(§17.4.3.1.1/2),A如果翻译单元包含标准库标头,则标准配置的C预处理器无法重新定义关键字。对于没有标准标头的不带标准标题的翻译单元,取消了此限制。在C 0x中,上述段落的第二个句子似乎完全禁止重新定义关键字的重新定义,从而导致混乱。但是,肯·布鲁姆(Ken Bloom)澄清说,在C 0x中规则没有改变。文本仅以一种可能导致误解的方式重新安排。> 对非符合性 >>>>>>>>>>>>>变得不合格。但是,不能保证在不同的编译器或平台上可以移植。此外,如果这种程序试图与期望原始关键字定义的标准库标头进行交互,则可能会遇到意外行为或错误。以上是C 预处理器可以重新定义关键字并且仍然符合标准吗?的详细内容。更多信息请关注PHP中文网其他相关文章!