如何加快C++代码的编译速度

2025-04-06 09:32:14
推荐回答(1个)
回答1:

  最重要的一个原因应该是C++基本的"头文件-源文件"的编译模型:
  每个源文件作为一个编译单元,可能会包含上百甚至上千个头文件,而在每一个编译单元,这些头文件都会被从硬盘读进来一遍,然后被解析一遍。
  每个编译单元都会产生一个obj文件,然后所以这些obj文件会被link到一起,并且这个过程很难并行。
  这里,问题在于无数头文件的重复load与解析,以及密集的磁盘操作