Son realmente dos términos para la misma cosa. En el mundo Unix, el término enlazador dinámico se utiliza para denotar el componente del sistema operativo que vincula bibliotecas dinámicas en tiempo de ejecución, mientras que un cargador en la mayoría de los otros sistemas carga y vincula bibliotecas dinámicas.
Debido a que la carga de bibliotecas en sistemas tipo Unix se realiza por un componente separado (ld.so
más a menudo), un enlazador dinámico se considera algo distinto del cargador de programas. Los compiladores suelen insertar algún código auxiliar al principio del archivo ejecutable para cargar ld.so
, y ld.so
continuarán cargando el resto de las bibliotecas dependientes antes de invocar main
. Mientras que la carga del programa se realiza en el espacio del kernel, la vinculación de las bibliotecas dinámicas generalmente se realiza en el espacio de usuario.
Esto no se parece a Windows, donde tanto la carga del programa como la vinculación de bibliotecas dinámicas se realiza en modo kernel.
http://stackoverflow.com/questions/311882/what-do-statically-linked-and-dynamically-linked-mean/311889#311889 – Vijay
@peter gracias! Eso ayudo. –