什么是“增量链接”?

我已经看过微软的MSDN和networking,但是我仍然无法真正了解它是什么。

这是否意味着完成的程序在其执行过程中的不同时间加载DLL,在启动时一次完成?

我完全离开了吗? 🙂

链接包括将源文件构build的所有.obj文件以及引用的任何.lib文件打包到输出中(例如.exe或.dll)。

没有增量链接,每次都必须从头开始。

增量链接链接你的EXE / DLL的方式,使得更容易的连接器更新现有的exe / DLL时,你做一个小的改变,重新编译。

所以,增量链接只是使编译和链接项目更快。

唯一的运行时效果可能是它可能会让你的exe / dll稍微大一点,如下所述:

http://msdn.microsoft.com/en-us/library/4khtbfyf.aspx

编辑:如Logan所述,增量链接也与链接时间代码生成不兼容,因此失去了可能的性能优化。

您可能希望使用增量链接进行debugging构build,以加快开发速度,但为了发布构build而禁用它以提高运行时性能。

延迟加载的DLL可能是你正在想的:

http://msdn.microsoft.com/en-us/library/151kt790.aspx

此外,相当重要的是,增量链接是Edit&Continue的先决条件 – 可能编辑您的代码并重新编译它,而无需重新启动。

所以在debugging版本上是一件好事,但不是发布版本。

Interesting Posts