我查看了微软的MSDN和全网,但仍然没有能够获得一个真正好的想法。
它是否意味着完成的程序在执行过程中在不同时间加载DLL,而不是一次性全部启动?
我完全错了吗? :)
它是否意味着完成的程序在执行过程中在不同时间加载DLL,而不是一次性全部启动?
我完全错了吗? :)
链接是将从源文件生成的所有 .obj 文件以及您引用的任何 .lib 文件打包到输出中(例如 .exe 或 .dll)。
如果没有增量链接,则每次都必须从头开始执行此操作。
增量链接以一种使链接器更容易更新现有的 exe/dll 的方式链接您的 exe/dll,当您进行小的更改并重新编译时。
因此,增量链接只是让编译和链接项目更快。
它可能会产生唯一的运行时影响,即它可能使您的 exe/dll 稍微变大且变慢,如此处所述:
http://msdn.microsoft.com/en-us/library/4khtbfyf.aspx
编辑:如 Logan 所提到的,增量链接也与 链接时间代码生成 不兼容 - 因此失去了可能的性能优化。
您可能希望在调试构建中使用增量链接以加快开发速度,但在发布构建中禁用它以提高运行时性能。
延迟加载的 DLL 可能是您想要的内容:
此外,增量链接是Edit&Continue
的先决条件——可以在不重新启动的情况下即时编辑和重新编译代码。
因此,在调试构建中具有增量链接是一件好事,但在发布构建中则没有必要。