What is incremental binding?

I looked at Microsoft MSDN and everything around the Internet, but so far I have not been able to get a really good idea of ​​what it is.

Does this mean that a completed program loads DLLs at different times during its execution, as was the case with everyone immediately after launch?

Am I completely gone? :)

+83
incremental-linking
Jul 28 '10 at 2:40
source share
2 answers

Linking involves combining all .obj files created from your source files, as well as any .lib files that you link to your output (for example, .exe or .dll).

Without incremental binding, this must be done from scratch every time.

Incremental binding binds your exe / dll in a way that makes it easy for the linker to update an existing exe / dll with a small change and recompile.

Thus, incremental binding just speeds up the compilation and binding of your project.

The only execution effect this can have is that it can make your exe / dll a bit bigger and slower as described here:

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

Edit: as mentioned in Logan, incremental binding is also incompatible with transmission time code generation - therefore, you may lose a possible performance optimization.

You might want to use incremental bindings for debugging collections to speed up development, but disable it for release builds to improve execution performance.

The delays loaded by the DLL may be what you think:

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

+95
Jul 28 '10 at 2:52
source share

In addition, importantly, an incremental link is a prerequisite for Edit&Continue - perhaps edit your code and recompile it on the fly without restarting.

So it's nice to have debug builds, but not release builds.

+10
Apr 22 '14 at 15:30
source share



All Articles