You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言entry关键字是否曾被实现?相关疑问求解

关于C语言entry关键字的历史细节解答

两种说法并不矛盾,只是视角不同

  • K&R1中entry确实是保留标识符,语法上被列为保留字,设计灵感来自PL/I和FORTRAN,这是早期C语言草案里的明确定义;
  • K&R2的表述“曾为保留字但从未使用,现已不再保留”,这里的“从未使用”指的是它从未被纳入C语言的核心正式特性——K&R团队在后续迭代中发现这个特性冗余,没有把它写进C的标准语法逻辑里,后来ANSI C标准化直接移除了这个保留字。K&R2的简化表述是因为这个特性最终没有成为C的一部分,历史使用场景极少,没必要过多展开细节。

确实有编译器实现过entry,具体实例包括

entry的作用是给函数定义多个入口点,允许从函数的中间位置开始执行,类似PL/I里的同名特性。曾经支持它的编译器有:

  • PCC(Portable C Compiler):早期贝尔实验室之外最流行的C编译器,部分版本支持entry作为非标准扩展,用来实现多入口函数;
  • 早期UNIX系统的cc编译器:比如Version 6和Version 7 UNIX自带的C编译器,有过实验性的entry支持,但因为实用性低很快被移除;
  • 小众领域的专用编译器:早年一些面向嵌入式或系统编程的小众编译器,为了方便从PL/I/FORTRAN迁移代码,短暂提供过entry的兼容支持。

总结

entry是C语言早期设计阶段的一个实验性保留字,从未进入正式标准语法,但确实有部分非标准编译器做过实现。K&R2的表述和相关Stack Overflow答案分别从官方标准和实际实现历史两个角度描述,不存在冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 09:32:09