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