这是统一构建的魔法。对于VM/76这种手写Makefile的巨弱的构建系统,编译缓慢是非常正常的事情。很久前就想吐槽这个分文件编译的套路,在现今极快的电脑支持下简直是瞎添麻烦。虽说用同时多进程编译的选项可以有效加快速度,不过总感觉用everything.cpp — #include的简单粗暴的方法真是爽太多了。
Unity build就是解决编译慢的简单方法。显而易见地,它有几个优点:
- 快
- 仅需一个命令
- 所有编译错误可以同时显示
事实上,许多现有的项目的代码无需修改即可使用此方法构建,应用起来甚至比把一个命名空间倒过来更容易。除了稍微修改一点宏相关的定义外,不需要对源代码做什么框架上的改变。