WARNING:
JavaScript is turned OFF. None of the links on this concept map will
work until it is reactivated.
If you need help turning JavaScript On, click here.
Este Cmap, tiene información relacionada con: jerarrquía de traduccion 2, JERARQUÍA DE TRADUCCIÓN II destaca Librerías, – Cuando un programador genera un conjunto de módulos relacionados, que pueden ser reutilizados por otros... – ... une todos los ficheros objetos generados en un fichero llamado librería – Centenares de librerías de funcionalidad muy heterogénea en una distribución de Linux convencional: – Veremos que el código generado al compilar nuestro programa acaba enlazándose con código ya precompilado contenido en ficheros de librería • Directorios /lib, /usr/lib, /usr/local/lib y similares, en Linux. dos tipos de lbrerías Las librerías estáticas almacenan código que, de alguna forma, es “cortado y pegado” en nuestro ejecutable final. • Así, si llamamos a más funciones, mayor es el tamaño de nuestro ejecutable final • En Linux, están en ficheros con extensión .a – P.e. /usr/lib/lib*.a, ..., – Cuando un programador genera un conjunto de módulos relacionados, que pueden ser reutilizados por otros... – ... une todos los ficheros objetos generados en un fichero llamado librería – Centenares de librerías de funcionalidad muy heterogénea en una distribución de Linux convencional: – Veremos que el código generado al compilar nuestro programa acaba enlazándose con código ya precompilado contenido en ficheros de librería • Directorios /lib, /usr/lib, /usr/local/lib y similares, en Linux. dos tipos de lbrerías – Las librerías dinámicas, por el contrario, el código de las funciones de biblioteca no se incluye en el ejecutable final, sino que éste simplemente almacena la información necesaria para cargar dicho código en memoria desde el fichero de la librería en el momento de la ejecución. • Además, dichas funciones pueden ser compartidas por varios ejecutables simultáneamente, sin duplicar espacio necesario en memoria. • Ventaja principal: no se desperdicia espacio ni en disco ni en memoria • Inconveniente principal: el fichero ejecutable, al cambiarlo de máquina, puede no funcionar (necesita que la(s) librería(s) utilizada(s) esté(n) en el computador destino) • En Linux, están en ficheros con extensión .so – P.e. /usr/lib/lib*.so, ..., Contenido de un fichero objeto destaca – Instrucciones en lenguaje máquina. – Datos (ya en formatos de almacenamiento interno: enteros en C2, reales en punto flotante, texto en ASCII, etc.) – Información de reubicación (para accesos a memoria, saltos, etc.) : • Necesaria porque los programas se dividen en módulos objeto compilados por separado... • ...que luego en enlazador (linker) juntará en uno sólo. • En ese momento, se “pegarán todos los módulos”, se fijarán las referencias cruzadas entre ellos (acceso a datos o llamadas a funciones de otro módulo), y se usará la información anterior para fijar las direcciones definitivas en el programa completo resultante., Librerías destacaa – Cuando un programador genera un conjunto de módulos relacionados, que pueden ser reutilizados por otros... – ... une todos los ficheros objetos generados en un fichero llamado librería – Centenares de librerías de funcionalidad muy heterogénea en una distribución de Linux convencional: – Veremos que el código generado al compilar nuestro programa acaba enlazándose con código ya precompilado contenido en ficheros de librería • Directorios /lib, /usr/lib, /usr/local/lib y similares, en Linux., JERARQUÍA DE TRADUCCIÓN II destaca Compilador, Ensamblador destaca Convierte el programa ensamblador en un fichero objeto, que ya contiene datos binarios., JERARQUÍA DE TRADUCCIÓN II destaca Ensamblador, JERARQUÍA DE TRADUCCIÓN II destaca Contenido de un fichero objeto, Compilador destaca – Transforma el código en lenguaje de alto nivel (en texto ASCII) a ensamblador (lenguaje ya “pegado” a la máquina, pero aún expresado en texto ASCII).