stringtranslate.com

Biblioteca de ejecución

En programación de computadoras , una biblioteca en tiempo de ejecución es un conjunto de rutinas de bajo nivel utilizadas por un compilador para invocar algunos de los comportamientos de un entorno de ejecución , insertando llamadas a la biblioteca en tiempo de ejecución en un binario ejecutable compilado. El entorno de ejecución implementa el modelo de ejecución , funciones integradas y otros comportamientos fundamentales de un lenguaje de programación . [1] Durante la ejecución ( tiempo de ejecución ) de ese programa informático , la ejecución de esas llamadas a la biblioteca de tiempo de ejecución provoca la comunicación entre el binario ejecutable y el entorno de ejecución. Una biblioteca en tiempo de ejecución a menudo incluye funciones integradas para la gestión de memoria o el manejo de excepciones . [2] Por lo tanto, una biblioteca en tiempo de ejecución siempre es específica de la plataforma y el compilador.

La biblioteca de tiempo de ejecución puede implementar una parte del comportamiento del entorno de ejecución, pero si uno lee el código de las llamadas disponibles, generalmente son solo envoltorios delgados que simplemente empaquetan información y la envían al entorno de ejecución o al sistema operativo. Sin embargo, a veces el término biblioteca en tiempo de ejecución pretende incluir el código del propio entorno de ejecución, aunque no se puede acceder directamente a gran parte de ese código mediante una llamada a la biblioteca.

Por ejemplo, algunas características del lenguaje que solo se pueden realizar (o que son más eficientes o precisas) en tiempo de ejecución se implementan en el entorno de ejecución y se pueden invocar a través de la API de la biblioteca de tiempo de ejecución, por ejemplo, algunos errores lógicos, verificación de límites de matriz , verificación de tipos dinámicos, manejo de excepciones y posiblemente funcionalidad de depuración. Por esta razón, algunos errores de programación no se descubren hasta que el programa se prueba en un entorno "en vivo" con datos reales, a pesar de las comprobaciones y pruebas sofisticadas en tiempo de compilación realizadas durante el desarrollo.

Como otro ejemplo, una biblioteca en tiempo de ejecución puede contener código de operaciones integradas de bajo nivel demasiado complicadas para incluirlas durante la compilación, como implementaciones de operaciones aritméticas que no son compatibles directamente con la CPU de destino, o varias operaciones y directivas diversas específicas del compilador. [2] [3]

El concepto de biblioteca en tiempo de ejecución no debe confundirse con una biblioteca de programas ordinaria como la creada por un programador de aplicaciones o entregada por un tercero, ni con una biblioteca dinámica , es decir, una biblioteca de programas vinculada en tiempo de ejecución. Por ejemplo, el lenguaje de programación C requiere sólo una biblioteca de tiempo de ejecución mínima (comúnmente llamada crt0), pero define una biblioteca estándar grande (llamada biblioteca estándar de C ) que debe ser proporcionada por cada implementación. [1]

Ver también

Referencias

  1. ^ ab Bennett, Jeremy (julio de 2010). "La inicialización del tiempo de ejecución de C, crt0.o". Cómo: Portar newlib . Embecosmos . Consultado el 30 de diciembre de 2013 .
  2. ^ ab "4. La biblioteca de tiempo de ejecución de bajo nivel de GCC". Partes internas de los compiladores GNU . GNU . Consultado el 30 de diciembre de 2013 .
  3. ^ "Otras funciones integradas proporcionadas por GCC". Introducción al CCG . GNU . Consultado el 30 de diciembre de 2013 .

enlaces externos