02 基本概念

2.1 环境

  • 翻译环境:源代码被转换为可执行的机器指令的环境。

  • 执行环境:实际执行机器指令的环境。

独立环境(freestanding environment):不存在操作系统的环境。如嵌入式系统中。

代码执行的阶段:

  • 载入内存:在宿主环境(有操作系统的环境),这个任务由操作系统完成。在独立环境中,必须手工安排,或者直接把可执行代码写入ROM中。

  • 开始执行:宿主环境中,一般有一个小型的启动程序与程序链接在一起,负责处理一些日常事务。然后调用main函数。

2.2 词法规则

一个ANSI C程序的两个组成部分:

  • 声明:描述和函数和函数要操作的数据类型。

  • 函数:定义了需要执行的工作。

在标准中还定义了三字母词(trigraph),但是一些编译器会按字面字符执行,忽略三字母词。

所有的注释都会被预处理器拿掉,换成一个空格。