Incremental linking allows the linker to update the existing executable when re-compiled.
Linking involves packaging together all of the object files built from source files, as well as any referenced library files, into the output (executable or dynamically linked library).
Incremental linking creates the output in a way which makes it easier for the linker to update the existing output when re-compiling after a small change. Without incremental linking, this has to be done from scratch each time.
Incremental linking makes it faster to compile and link a project. However, it may make the executable slightly bigger and slower. You may want to use incremental linking for debug builds to speed development, but disable it for release builds to improve runtime performance.
See also: