Saltar al contenido principal
LibreTexts Español

3.4: Bibliotecas

  • Page ID
    82382
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Los ejemplos anteriores son bastante limitados porque, aunque realizan un cálculo, ¡no tenemos forma de ver el resultado! Necesitamos alguna forma de imprimir la respuesta en la pantalla de la computadora. Para ello, confiamos en funciones del sistema y bibliotecas. Hay una serie de bibliotecas incluidas con la mayoría de los sistemas de desarrollo C para cubrir una variedad de necesidades. Esencialmente, alguien ya ha codificado, probado y compilado un montón de funciones para ti. Usted agrega estas funciones a su programa a través de un proceso llamado vinculación. Vincular simplemente combina su código compilado junto con cualquier código de biblioteca requerido en un programa ejecutable final. Para impresiones básicas, entrada de datos y similares, utilizamos la biblioteca estándar IO (Entrada/Salida) o stdio para abreviar. Hay una función en esta biblioteca llamada printf () para “print format”. Para que el compilador pueda hacer comprobación de tipo, debe saber algo sobre esta nueva función. Le decimos al compilador que busque en un archivo especial llamado archivo de encabezado para encontrar esta información. Cada biblioteca tendrá un archivo de encabezado asociado (generalmente del mismo nombre) y normalmente terminará con una extensión de archivo.h 1. La directiva del compilador se llama instrucción include.

    Código\(\PageIndex{1}\) (C): Program with library function call.

    // Our third program, this is an example of a single line comment
    #include <stdio.h>
    
    void main( void )
    {
        printf(“Hello world.\n”);
    }
    

    Este programa simplemente imprime el mensaje Hola mundo. a la pantalla. El combo backslash-n es un token de formato especial que significa agregar una nueva línea (es decir, llevar el cursor a la línea de abajo). Si no agregáramos la directiva #include, el compilador no sabría nada sobre printf (), y se quejaría cuando intentáramos usarlo. Entonces, ¿qué hay en un archivo de encabezado? Bueno, entre otras cosas contienen prototipos de funciones. Los prototipos no son más que una plantilla. Puedes crear el tuyo propio cortando y pegando el nombre de tu función con la lista de argumentos y agregándole un punto y coma. Aquí está el prototipo de función para nuestra función matemática anterior:

    float add_mult_div( float a, float b );
    

    Podrías hacer tu propia biblioteca de funciones si quieres. Para usarlos, todo lo que necesitarías es una declaración include apropiada en tu código, y recuerda agregar en tu código de biblioteca con el enlazador. Esto te permitirá reutilizar el código y ahorrar tiempo. Veremos múltiples proyectos de archivos y más sobre bibliotecas en un segmento posterior.

    En consecuencia, si queremos imprimir la respuesta al primer programa, terminaríamos con algo como Code\(\PageIndex{2}\):

    Código\(\PageIndex{2}\) (C): A more complete program.

    /* Our fourth program */
    #include <stdio.h>
    
    void main( void )
    {
        float x = 2.0;
        float y = 3.0;
        float z;
    
        z = x*y/(x+y);
        
        printf(“The answer is %f\n”, z);
    }
    

    El %f en la función printf () sirve como un soporte de lugar para la variable z. Si necesitas imprimir varios valores puedes hacer algo como esto:

    printf(“The answer from %f and %f is %f\n”, x, y, z);
    

    En este caso, el primero %f se usa para x, el segundo %f para y, y el último para z. El resultado se verá así:

    The answer from 2.0 and 3.0 is 1.2
    

    1. Vale la pena señalar que una gran cantidad de subgrupos de código se recogen juntos en lo que se conoce como la biblioteca estándar C. La implementación precisa de esto depende del sistema operativo, sin embargo, los archivos de encabezado (por ejemplo, stdio.h, string.h, math.h, etc.) permanecen distintos.

    This page titled 3.4: Bibliotecas is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by James M. Fiore via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.