我阅读了有关 GCC 的官方手册。有时我在翻译文本时遇到问题。在第六页(第 2.1 章)我无法理解这样的文本片段:
ISO C 标准定义(在第 4 节中)两类符合要求的实现。符合要求的托管实现支持整个标准,包括所有图书馆设施;一个符合要求的独立实现只需要提供某些库设施:那些在
<float.h>
、<limits.h>
、<stdarg.h>
和<stddef.h>
; 自 AMD1 以来,还有那些在<iso646.h>
; 从 C99 开始,还有<stdbool.h>
和中的那些<stdint.h>
;从 C11 开始,还有那些在<stdalign.h>
和 。此外,C99 中添加的复杂类型对于独立实现不是必需的。该标准还为程序定义了两个环境,一个独立环境,所有实现都需要,并且可能没有独立实现所需的库设施,其中程序启动和终止的处理是实现定义的,以及托管环境,它不是必需的,其中提供了所有库设施,并且通过函数int main (void)
或int main (int, char *[])
. 操作系统内核将是一个独立的环境;使用操作系统设施的程序通常在托管实现中。
我不确定我是否理解正确...
我将改写我的理解方式:
- 存在 ISO C 标准的两种实现:完整(称为符合托管的实现)和轻型(称为符合独立的实现)。
- 存在两个环境(针对每个标准的实现):托管环境(针对完整标准)和独立环境(针对轻标准)。
轻型版本用于操作系统开发。完整版本适用于可在操作系统中运行的程序。
而且我不理解有关main
功能的短语。
我要求向我解释这段文字。