1

在进行语义分析(包括类型检查之类的东西)之前,我想拥有整个程序(通过抽象语法树或其他方式表示)很重要。

为了将所有信息放在一起,您必须组合源文件、引用库的元信息等。

这个组合阶段如何被称为因为“链接”通常是指将编译器生成的东西而不是输入文件和导入的库放在一起。

4

1 回答 1

2

编译器通常将单个源文件编译为单个目标文件。

源文件不一定一次全部加载到内存中。并且目标文件在它们被链接之前不会被合并。

要进行类型检查(除其他外),编译器需要知道该编译单元引用其他单元的所有方式。在 C/C++ 中,这是通过预处理器中包含的头文件。

于 2012-10-16T11:15:18.947 回答