您能否从三个突出显示的表达式中得到启发,来解释一下到底是什么实现?
来自“ C Primer Plus”>语言标准
当前,许多C实现可用。理想情况下,编写C程序时,只要不使用特定于计算机的编程,它就可以在任何实现上都可以工作。为了在实践中做到这一点,不同的实现需要符合公认的标准。
标准符合C实现由该转换编译单元的标准,通过标准和所需的所有功能标准库的实现的授权编译器的东西(通常是连接)这使一切融合在一起建立一个可执行文件。实际上,该实现还包括随后运行生成的可执行文件所需的所有软件。
当我们谈到C开发环境时,通常会谈到编译器(gcc,clang,msvc)。在每个供应商系统内部,您可能会有不同的实现,因为例如gcc或clang可以生成用于不同int大小(32或64位)以及最终不同字节序的可执行文件。然后,每个配置都构成一个特定的实现。
为了更加详尽,应该注意的是,在所谓的独立执行环境中(相对于托管执行环境),支持标准库可能是可选的。在现实世界中,独立模式用于内核开发,因为在标准库中的所有功能可用之前,内核必须能够启动。否则,如果内核需要仅在完全加载时才能提供的功能,那么我们将遇到鸡与蛋的问题。
参考:C11的n1570草案将实现定义为:
3.12实现:
在特定的翻译环境中,在特定的控制选项下运行的特定软件集,用于在特定的执行环境中执行程序的转换并支持功能的执行
实现是特定规范的应用程序。
例如,规范可以是ISO国际标准,实现可以是gcc或clang;已实现标准规范以及标准库实现的编译器。
| 归档时间: |
|
| 查看次数: |
192 次 |
| 最近记录: |