2010-11-11 95 views
8

¿Cuál es la diferencia entre enlace estático y enlace dinámico?Diferencia entre enlace estático y enlace dinámico

+0

@Andrey: Este no es un duplicado exacto. En realidad, hay tres posibilidades: enlace estático, enlace dinámico en tiempo de carga y enlace dinámico en tiempo de ejecución. La otra pregunta es preguntar sobre la diferencia entre el segundo y el tercero, mientras que esto es hablar de la diferencia entre el primero y un grupo del segundo y el tercero juntos. –

Respuesta

7

La vinculación estática se realiza en 'tiempo de compilación' mediante una herramienta llamada enlazador. La vinculación dinámica se realiza en tiempo de ejecución, por el sistema operativo.

+0

[Ventajas y desventajas de la vinculación estática y dinámica] (http://www.engineeous.com/prepnote/static-linking-and-dynamic-linking) – Aneesh

+2

página @Aneesh no encontraron :( –

11

En enlace estático, las funciones y variables que están definidas en archivos de biblioteca externos están vinculadas dentro de su ejecutable. Eso significa que el código está realmente vinculado a su código al compilar/vincular.

Con el enlace dinámico, las funciones externas que utiliza en su software no están vinculadas con su ejecutable. En cambio, residen en archivos de una biblioteca externa a los que solo hace referencia su software. Es decir: el compilador/vinculador instruye al software sobre dónde encontrar las funciones utilizadas.

En las plataformas Windows, puede incluso cargar explícitamente los archivos DLL en tiempo de ejecución y conectar las funciones contenidas en el archivo DLL.

0

En las bibliotecas de enlace estática vinculada en tiempo de compilación, pero el tamaño del código es más cuando esta vinculación estática, cuando sólo uno o dos programas a continuación, utiliza el enlazado estático

En las bibliotecas de enlace dinámico enlazadas en tiempo de ejecución (o) tiempo de ejecución, pero el tamaño del código es menor, cuando tienes más programas, utiliza el enlace dinámico.

+0

¿Cuál es la diferencia entre 'ejecución time' y 'run time'? – erbdex

1

vinculación estática aumentar el tamaño del archivo de su programa y se puede aumentar el tamaño del código en la memoria si otras aplicaciones se están ejecutando en el sistema ... en el programa enlazado dinámico otro lado ocupan menos espacio y menos memoria virtual de

Cuestiones relacionadas