You need to enable JavaScript to run this app. C预处理器:#include指令实参不得以数字开头的设计依据及相关疑问
优惠活动
大模型
产品
解决方案
定价
更多

C预处理器:#include指令实参不得以数字开头的设计依据及相关疑问

N2479 C17至C2x工作草案(2020年2月5日版)—— ISO/IEC 9899:202x(E)

6.10.2 源文件包含

实现应为以下序列提供唯一映射:由一个或多个非数字或数字(见6.4.2.1节)、后跟一个句点(.)、再后跟一个非数字组成的序列。该序列的首字符不得为数字。

相关技术问询

  • 核心疑问:在C预处理器规范中,为何要求满足唯一映射规则的char-sequence(即#include指令的实参)不能以数字开头?该设计规则的依据是什么?
  • 附加疑问:当开发者写出不符合上述要求的代码时(例如#include "1.h"),多数编译器不会生成任何诊断消息,背后的原因是什么?
  • 补充说明:后续经同事解答,The first character shall not be a digit(首字符不得为数字)的要求仅与前述的unique mappings(唯一映射)规定绑定,此前对该标准条款的解读存在偏差。

内容的提问来源于stack exchange,提问作者pmor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.04 13:15:02