Skip to content
IRC-CodingIRC-Coding
CompilerLinkerInterpreterDebuggerBytecodeJIT

Toolchain: Compiler, Linker, Interpreter y Debugger

Quelltext a programa: Compiler, Linker, Interpreter, Bytecode, JIT, Debugger y Test Pyramid para exámenes IHK.

S

schutzgeist

1 min read
Toolchain: Compiler, Linker, Interpreter y Debugger

Herramientas: Enlazador, Compilador, Intérprete, Depurador, Software de Pruebas

Este artículo es una aclaración de conceptos sobre la cadena de herramientas, incluyendo preguntas de examen, componentes clave y etiquetas.

En Resumen

  • Compiladores traducen el código fuente a representaciones cercanas a la máquina.
  • Enlazadores combinan archivos objeto y bibliotecas en programas ejecutables.
  • Intérpretes ejecutan el código directamente o a través de bytecode/VM.
  • Depuradores inspeccionan y controlan la ejecución en tiempo de ejecución.
  • Software de pruebas valida el comportamiento de forma automatizada.

Descripción Técnica Compacta

Cadena de Compilación

Típicamente:

  • Preprocesador
  • Compilador (AST/IR → código objeto)
  • Ensamblador
  • Enlazador (resolución de símbolos, relocalización, ejecutable como ELF)

Enlazado:

  • Estático: la biblioteca se incrusta en el ejecutable
  • Dinámico: la biblioteca se carga en tiempo de ejecución

Intérprete / VM

  • Interpretación de árbol (AST)
  • Bytecode + VM
  • JIT (Just-in-Time) para mejorar rendimiento

Depurador

Puntos de quiebre, paso a paso, inspección de variables, pila de llamadas, inspección de memoria, análisis de volcado de núcleo.

Software de Pruebas

Framework de pruebas, ejecutor, aserciones, mocks, cobertura e informes. Automatizado en CI/CD.

Puntos Relevantes para Examen

  • Flujo de artefactos: código fuente → archivo objeto → binario
  • Enlazado estático vs dinámico
  • Explicar bytecode/VM/JIT
  • Depurador: símbolos, puntos de quiebre, pila de llamadas
  • Pirámide de pruebas: unitarias/integración/sistema/aceptación
  • Documentación: versiones de herramientas, scripts de compilación, informes de pruebas

Componentes Principales

  1. Preprocesador
  2. Compilador (parser/AST/IR)
  3. Ensamblador
  4. Enlazador
  5. Cargador/enlazador dinámico
  6. Intérprete/VM
  7. Depurador
  8. Framework de pruebas/ejecutor
  9. Automatización CI/CD
  10. Informes/registros/cobertura

Ejemplo Práctico (Flujo)

1) Compilar: summe.c -> summe.o
2) Enlazar: summe.o + main.o -> programm
3) Depurar: punto de quiebre en addiere(), observar a,b
4) Pruebas: prueba unitaria addiere(2,3)=5, prueba de integración salida CLI

Ventajas y Desventajas

  • Compilador: rápido, buena optimización; pero tiempo de compilación/portabilidad
  • Intérprete: iteración rápida; pero sobrecarga en tiempo de ejecución
  • Software de pruebas: detección temprana de errores; pero costo de mantenimiento

Preguntas Típicas de Examen (con Respuesta Breve)

  1. ¿Compilador vs Intérprete? Compilador por adelantado, intérprete en tiempo de ejecución.
  2. ¿Qué hace el enlazador? Resuelve símbolos y genera el binario.
  3. ¿Cuáles son los niveles de prueba? Unitarias, integración, sistema, aceptación.
  4. ¿Cómo ayuda el depurador? Puntos de quiebre, modo paso a paso, análisis de pila.

Fuentes Más Importantes

  1. https://de.wikipedia.org/wiki/Compiler
  2. https://de.wikipedia.org/wiki/Linker
Volver al blog
Share:

Nächster Artikel in Ingeniería de Software

Weiterlesen
Top-Down vs Bottom-Up: Diseño de Software

Entradas relacionadas