我有一个包含许多文件的 c++ 项目。当我构建项目时,即使对代码进行很小的更改,它也会重新编译大量文件。这增加了项目的编译时间。所以我需要关于如何改进项目结构或任何其他可能的优化的建议,这将有助于减少项目的编译时间。即使我没有对项目进行任何更改,也有几个文件正在重新编译。不知何故,make 没有检测到这些文件不需要重新编译,或者我可能遗漏了一些东西。
我在 linux(Ubuntu) 上为我的项目使用 Codelite。语言是 C++。
上面提供的链接将为您提供详细说明。只是为了把它放在一个更轻松的方式,我添加了更多的东西。
如果您更改 CPP 文件中的某些内容,则只会重新编译该文件。如果是头文件,那就另当别论了。如果您在多个模块中包含一个头文件,并且当您对该头文件进行更改时,所有关联的 CPP 文件都将被编译,这也是它应该的方式。因此,如果您真的关心这方面,则在编写代码时需要小心。在以后的阶段,将很难管理这些事情。
关于某些文件的编译,即使您不更改任何内容,也可能会发生
1]我们告诉编译器这样做。
2] 运行构建时会自动生成或修改一些 CPP 或头文件
3]文件时间戳有变化
4]文件夹名称/结构发生变化
最后但同样重要的是,还可以尝试更改代码精简版构建目标。
这些是我知道的可能性。会有更多[肯定:)]...