2.2.3 语义分析
由语义分析器来完成语义分析,即对表达式的语法层?分析。编译器所能做的分析是语义的静态分
析。静态语义分析通常包括声明和类型的匹配,类型的转换等。这个阶段会报告错误的语法信息。
2.3 汇编
汇编器是将汇编代码转转变成机器可执?的指令,每?个汇编语句?乎都对应?条机器指令。就是根据汇编指令和机器指令的对照表??的进?翻译,也不做指令优化。
2.4 链接
链接是?个复杂的过程,链接的时候需要把?堆?件链接在?起才?成可执?程序。链接过程主要包括:地址和空间分配,符号决议和重定位等这些步骤。链接解决的是?个项?中多?件、多模块之间互相调?的问题。
3. 运?环境
1. 程序必须载?内存中。在有操作系统的环境中:?般这个由操作系统完成。在独?的环境中,程序的载?必须由??安排,也可能是通过可执?代码置?只读内存来完成。
2. 程序的执?便开始。接着便调?main函数。
3. 开始执?程序代码。这个时候程序将使??个运?时堆栈(stack),存储函数的局部变量和返回地址。程序同时也可以使?静态(static)内存,存储于静态内存中的变量在程序的整个执?过程?直保留他们的值。
4. 终?程序。正常终?main函数;也有可能是意外终?。