在进行语义分析(包括类型检查之类的东西)之前,我认为拥有整个程序(通过抽象语法树或其他表示)非常重要。
为了将所有信息放在一起,您必须组合源文件,引用库的元信息等。
如何调用这个组合阶段,因为“链接”通常是指将编译器生成的内容放在一起而不是输入文件和导入的库。
答案 0 :(得分:2)
编译器通常将单个源文件编译为单个目标文件。
源文件不一定全部加载到内存中。目标文件在链接之前不会合并。
要进行类型检查(除其他事项外),编译器需要知道此编译单元引用其他方法的所有方法。在C / C ++中,通过包含在预处理器中的头文件。