主要观点:介绍一本关于 FM TOWNS High C Compiler v1.7 的用户手册,此手册包含很多有趣的 80 年代 C 编译器扩展功能。
关键信息:
- FM TOWNS 的 High C 编译器在 80 年代因竞争而产生,后被 Fujitsu 用于其基于 80386 的 FM TOWNS 平台。
- 手册中介绍了一些有趣的 C 语言扩展,如数字字面量中的下划线、标记参数、范围 case、嵌套函数、生成器等。
- 这些扩展在其他 C 编译器中不常见,有些甚至到近年才在 C 标准中出现,而 C++也未采用其中一些。
重要细节: - 数字字面量中可使用下划线分隔以提高可读性,C++14 才引入类似功能,C 今年的 C23 标准才跟上。
- 标记参数可在调用函数时为参数命名,方便处理大量参数或非描述性类型参数,Python 有此功能,标准 C 和 C++未采用。
- 范围 case 可匹配一系列值,Pascal 有此功能,High C 采用,标准 C 和 C++未采用。
- 嵌套函数可在函数内嵌套函数,High C 的实现比标准 Pascal 和 GCC 的嵌套函数扩展更有趣和完整,还可通过
goto
回到父函数,Objective-C 的块和 C++的 lambda 没有非本地退出能力,标准 C 也没有官方嵌套函数功能。 - 生成器可实现 Python 风格的生成器协程,在普通 C 中实现,通过特殊语法声明和调用,其实现基于嵌套函数,
for
循环会被转换为嵌套函数,嵌套函数可与嵌套函数功能进行复杂交互。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。