incremental-linking

incremental linking - ¿Qué es "vinculación incremental"?



incremental-linking (2)

Además, lo que es más importante, el enlace incremental es un requisito previo para Edit&Continue , es posible editar el código y volver a compilarlo sobre la marcha, sin reiniciar.

Por lo tanto, es bueno tener compilaciones de depuración, pero no versiones de lanzamiento.

Miré el MSDN de Microsoft y toda la web, pero todavía no he podido obtener una buena idea de lo que es.

¿Significa que el programa completo carga archivos DLL en diferentes momentos durante su ejecución, como se aplicó a todos a la vez al iniciarse?

¿Estoy totalmente lejos? :)


La vinculación implica empaquetar juntos todos los archivos .obj creados a partir de sus archivos fuente, así como cualquier archivo .lib al que haga referencia, en su salida (por ejemplo, .exe o .dll).

Sin enlaces incrementales, esto tiene que hacerse desde cero cada vez.

El enlace incremental vincula su exe / dll de una manera que hace que sea más fácil para el enlazador actualizar el exe / dll existente cuando hace un pequeño cambio y vuelve a compilar.

Por lo tanto, la vinculación incremental solo hace que sea más rápido compilar y vincular su proyecto.

El único efecto de tiempo de ejecución que podría tener es que puede hacer que su exe / dll sea ligeramente más grande y más lento, como se describe aquí:

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

Editar: como mencionó Logan, el enlace incremental también es incompatible con la generación de código de tiempo de enlace , perdiendo así una posible optimización del rendimiento.

Es posible que desee utilizar el enlace incremental para compilaciones de depuración para agilizar el desarrollo, pero desactívelo para versiones de lanzamiento para mejorar el rendimiento del tiempo de ejecución.

Delay loaded DLLs puede ser lo que estás pensando:

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