Visual Studio:当我不使用预编译头文件时,'Build Solution' 和 'Rebuild Solution' 有什么区别

Visual Studio: what is the difference between 'Build Solution' and 'Rebuild Solution' when i do not use precompiled headers

我试图了解 visual studio(构建与重建解决方案)中两种构建类型之间的区别。正如我所知,当我使用预编译头文件时,只要这些文件中的代码保持不变,简单构建就不会编译预编译头文件,但 'rebuilt' 将始终编译它们。 那么当我不使用预编译头文件时会发生什么? 我注意到简单构建仍然比重建快,究竟是什么减少了编译时间 (c++)?

使用 Build 通常只会重建因您对代码所做的更改而需要重建的文件。

如果您在 project/solution、a.cppb.cpp 中创建两个文件,然后第一次 Build,则两个文件都将是编译(进入 a.objb.obj)然后链接到 .exe 文件。

如果您随后仅更改 a.cpp 并再次 select Build,则只会编译 a.cpp(生成 a.obj) 并且 a.obj 和已经存在的 b.obj 将链接到 .exe 文件中。

如果您改为 select Rebuild,即使您没有对 [=11] 进行任何更改,b.cpp 也会在链接之前重新编译=].