编译与构建
在一般意义上而言,本文 编译与构建 的内容适用于 编译型语言 。
编译
编译(compile),一般而言是将源代码转换成汇编代码,用以实现这种过程的工具称为编译器(compiler)。但要注意,编译器在同一时刻只能转换一个编译单元,所谓编译单元是指单个的源文件。
编译器一般由相应的编程语言提供。
构建
程序通常由多个编译单元组成,倘若逐个的去编译,这多少显得有点琐碎,因此我们需要一个自动化工具用来从源代码生成用户可以使用的目标文件,而这个工具就是构建系统(build system),构建系统所作的就是构建(build),构建的过程中肯定会调用到编译。从这个意义上来说,构建的范围比编译更广。
现在的很多构建系统也包含了包管理器(package manager)的功能,用以解决项目依赖的问题。