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.cpp
和 b.cpp
中创建两个文件,然后第一次 Build,则两个文件都将是编译(进入 a.obj
和 b.obj
)然后链接到 .exe
文件。
如果您随后仅更改 a.cpp
并再次 select Build,则只会编译 a.cpp
(生成 a.obj
) 并且 a.obj
和已经存在的 b.obj
将链接到 .exe
文件中。
如果您改为 select Rebuild,即使您没有对 [=11] 进行任何更改,b.cpp
也会在链接之前重新编译=].
我试图了解 visual studio(构建与重建解决方案)中两种构建类型之间的区别。正如我所知,当我使用预编译头文件时,只要这些文件中的代码保持不变,简单构建就不会编译预编译头文件,但 'rebuilt' 将始终编译它们。 那么当我不使用预编译头文件时会发生什么? 我注意到简单构建仍然比重建快,究竟是什么减少了编译时间 (c++)?
使用 Build 通常只会重建因您对代码所做的更改而需要重建的文件。
如果您在 project/solution、a.cpp
和 b.cpp
中创建两个文件,然后第一次 Build,则两个文件都将是编译(进入 a.obj
和 b.obj
)然后链接到 .exe
文件。
如果您随后仅更改 a.cpp
并再次 select Build,则只会编译 a.cpp
(生成 a.obj
) 并且 a.obj
和已经存在的 b.obj
将链接到 .exe
文件中。
如果您改为 select Rebuild,即使您没有对 [=11] 进行任何更改,b.cpp
也会在链接之前重新编译=].