Herramientas de usuario

Herramientas del sitio


arm_compilacion

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
arm_compilacion [2020/04/29 02:57] marthaarm_compilacion [2024/12/11 23:50] (actual) – [Compilación] mariano
Línea 10: Línea 10:
 En el ámbito de las computadoras, los algoritmos se expresan mediante lenguajes de programación, como C, Python, C#, Java, Ensamblador, etc. Sin embargo, esta representación no es suficiente, ya que el procesador necesita una expresión mucho más detallada del algoritmo, que especifique en forma explícita todas las señales eléctricas que involucra cada operación. En el ámbito de las computadoras, los algoritmos se expresan mediante lenguajes de programación, como C, Python, C#, Java, Ensamblador, etc. Sin embargo, esta representación no es suficiente, ya que el procesador necesita una expresión mucho más detallada del algoritmo, que especifique en forma explícita todas las señales eléctricas que involucra cada operación.
  
-La tarea de traducción de un programa desde un lenguaje de programación de alto nivel hasta el lenguaje de máquina se denomina compilación, y la herramienta encargada de ello es el compilador. En la figura siguiente se pueden distinguir las etapas más importantes:+La tarea de traducción de un programa desde un lenguaje de programación (ya sea alto o bajo nivelhasta el lenguaje de máquina se denomina compilación, y la herramienta encargada de ello es el compilador. En la figura siguiente se pueden distinguir las etapas más importantes:
  
 {{ :procesocompilacion.png?650 |}} {{ :procesocompilacion.png?650 |}}
Línea 26: Línea 26:
 ==== Compilación ==== ==== Compilación ====
  
-La compilación es el proceso que, en sí, traduce el lenguaje de alto nivel en lenguaje de máquina. Dentro de esta etapa pueden reconocerse, al menos, cuatro fases:+La compilación es el proceso que, en sí, traduce el lenguaje de programación (ya sea alto o bajo nivelen lenguaje de máquina. Dentro de esta etapa pueden reconocerse, al menos, cuatro fases:
  
   * Análisis léxico.   * Análisis léxico.
Línea 47: Línea 47:
  
 Por último, en la generación de código se transforma la representación intermedia en lenguaje de máquina (código objeto). En los casos típicos esta fase involucra mucho trabajo relacionado con la optimización del código, antes de generarse el lenguaje de máquina. Por último, en la generación de código se transforma la representación intermedia en lenguaje de máquina (código objeto). En los casos típicos esta fase involucra mucho trabajo relacionado con la optimización del código, antes de generarse el lenguaje de máquina.
 +
 +En el caso de un lenguaje ensamblador, el compilador se llama ensamblador y el codigo obtenido se llama código máquina y puede ser procesado directamente por el procesador.
  
 ==== Enlace ==== ==== Enlace ====
  
-No siempre las aplicaciones se construyen de manera monolítica, a partir de un solo archivo fuente. En la práctica sólo se escribe una parte, y lo demás se toma de bibliotecas externas que, en la última etapa de la compilación, se enlazarán unas con otras para generar la aplicación ejecutable final. Ésta es, básicamente, la tarea del ''enlazador''.+No siempre las aplicaciones se construyen de manera monolítica, a partir de un solo archivo fuente. En la práctica sólo se escribe una parte, y lo demás se toma de bibliotecas externas que, en la última etapa de la compilación, se enlazarán unas con otras para generar la aplicación ejecutable final. Ésta es, básicamente, la tarea del ''enlazador'', también conocido como ''linker''. 
 + 
 +Los archivos objeto que se enlazan a nuestro programa se denominan bibliotecas externas que, por su parte, pueden haber sido construidas por nosotros mismos o pueden provenir de terceras partes (por ejemplo, las bibliotecas estándares del compilador). Una biblioteca, en este contexto, es una colección de funciones y en el proceso de enlace se añade al código objeto el código de la función a la que se hizo referencia. Si tenemos otros códigos objetos el proceso de enlace los combina para obtener un único ejecutable, como se ilustra en la siguiente figura:
  
-Los archivos objeto que se enlazan con nuestro programa se denominan bibliotecas externas que, por su parte, pueden haber sido construidas por nosotros mismos o pueden provenir de terceras partes (por ejemplo, las bibliotecas estándares del compilador). Una biblioteca, en este contexto, es una colección de funciones. Este tipo de archivos almacena el nombre de cada función, los códigos objeto de las funciones y la información de reubicación necesaria para el proceso de enlace. Entonces, en el proceso de enlace sólo se añade al código objeto el código de la función a la que se hizo referencia.+{{ :linker.png?400 |}} 
  
  
- --- //[[mariano.vargas@gmail.com|Mariano]] // \\+ --- //[[mariano.vargas@gmail.com|Mariano Vargas]] LOL // \\
 [[oc1|Volver]] [[oc1|Volver]]
  
 ~~NOCACHE~~ ~~NOCACHE~~
 ({{counter|total}}) ({{counter|total}})
× iphelper toolbox

you see this when javscript or css is not working correct

Untested
IP Address:
First usable:
Subnet:
Last usable:
CIDR:
Amount of usable:
Network address:
Reverse address:
Broadcast address:

arm_compilacion.1588129079.txt.gz · Última modificación: 2020/04/29 02:58 (editor externo)