对于一些大的工程来说,一点小的改动也会比修改花费的时间长,请问编译器对此事如何解决的?
使用专门的工具——联合编译
可以说的再详细一点吗?还是不太懂
编译器使用增量编译的方式来提高效率。将代码分为很多很多模块,分别编译。生成obj文件,再链接得到可执行文件。增量编译就是通过定义模块之间的依赖关系,只编译修改的源代码以及依赖它的源代码,而其它源代码直接用以前生成的obj去链接。
vc++就是用了增量编译的编译器。
另外,还有并行编译技术,也就是利用多个处理器/计算机,同时编译没有依赖关系的代码。
当然,大型的项目即便优化,也得编译很久,这是很正常的。android的源代码编译一次需要十几个小时。windows的源代码编译一次需要几天。