Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Tutorial: Crear y utilizar una biblioteca estática (C++)

Este tutorial paso a paso muestra cómo crear una biblioteca estática (un archivo .lib) para el uso con aplicaciones de C++. Mediante una biblioteca de estático es una buena manera de reutilizar el código. En lugar de re- implementar las mismas rutinas en cada aplicación que requiere la funcionalidad, escríbalas una vez en una biblioteca estática y haga referencia de las aplicaciones. El código vinculado desde una biblioteca estática se convierte en parte de aplicación- no tiene que instalar otro archivo para utilizar el código.

Este tutorial trata estas tareas:

Una descripción de los fundamentos del lenguaje C++.

Para crear un proyecto de biblioteca estática

  1. En la barra de menú, elija Archivo, Nuevo, Proyecto.

  2. En el panel izquierdo del cuadro de diálogo nuevo proyecto, expanda Instalado, Plantillas, Visual C++, y win32 seleccione.

  3. En el panel central, seleccione Aplicación de consola Win32.

  4. Especifique un nombre para proyecto-para el ejemplo, MathFuncsLib-en el cuadro Nombre. Especifique un nombre para solución- para el ejemplo, StaticLibrary- en el cuadro Nombre de la solución. elija el botón de Aceptar .

  5. En la página Información general del cuadro de diálogo Asistente para aplicaciones Win32, elija el botón siguiente.

  6. En la página Configuración de la aplicación, en Tipo de aplicación, seleccione Librería estática.

  7. En la página Configuración de la aplicación, en Opciones adicionales, desactive la casilla encabezado precompilado.

  8. Elija el botón finalizar para crear el proyecto.

Para agregar una clase a la biblioteca estática

  1. Para crear un archivo de encabezado para una nueva clase, abra el menú contextual para el proyecto de MathFuncsLib en Explorador de soluciones, y elija Add, Nuevo elemento. En el cuadro de diálogo agregar nuevo elemento, en el panel izquierdo, en Visual C++, seleccione código. En el panel central, seleccione Archivo de encabezado (.h). Especifique un nombre para el encabezado archivo (el archivo para el ejemplo, MathFuncsLib.h-and elija el botón Add. Se muestra un archivo de encabezado en blanco.

  2. Agregue una clase denominada MyMathFuncs para hacer operaciones matemáticas comunes como suma, resta, multiplicación, y división. El código debería ser similar a este:

    // MathFuncsLib.h
    
    namespace MathFuncs
    {
        class MyMathFuncs
        {
        public:
            // Returns a + b
            static double Add(double a, double b);
    
            // Returns a - b
            static double Subtract(double a, double b);
    
            // Returns a * b
            static double Multiply(double a, double b);
    
            // Returns a / b
            static double Divide(double a, double b);
        };
    }
    
  3. Para crear un archivo de código fuente para la nueva clase, abra el menú contextual para el proyecto de MathFuncsLib en Explorador de soluciones, y elija Add, Nuevo elemento. En el cuadro de diálogo agregar nuevo elemento, en el panel izquierdo, en Visual C++, seleccione código. En el panel central, seleccione Archivo C++ (.cpp). Especifique un nombre para el origen archivo (el archivo para el ejemplo, MathFuncsLib.cpp-and elija el botón Add. Se muestra un archivo de código fuente en blanco.

  4. Utilice este archivo de código fuente para implementar la funcionalidad de MyMathFuncs. El código debería ser similar a este:

    // MathFuncsLib.cpp
    // compile with: /c /EHsc
    // post-build command: lib MathFuncsLib.obj
    
    #include "MathFuncsLib.h"
    
    #include <stdexcept>
    
    using namespace std;
    
    namespace MathFuncs
    {
        double MyMathFuncs::Add(double a, double b)
        {
            return a + b;
        }
    
        double MyMathFuncs::Subtract(double a, double b)
        {
            return a - b;
        }
    
        double MyMathFuncs::Multiply(double a, double b)
        {
            return a * b;
        }
    
        double MyMathFuncs::Divide(double a, double b)
        {
            return a / b;
        }
    }
    
  5. Compile la biblioteca estática seleccionando Compilación, Generar solución en la barra de menús. Esto crea una biblioteca estática que puede ser utilizada por otros programas.

    Nota Nota

    Al compilar en la línea de comandos de Visual Studio, debe compilar el programa en dos pasos. Primero, ejecute cl /c /EHsc MathFuncsLib.cpp para compilar el código y crear un archivo objeto denominado MathFuncsLib.obj. (El comando cl invoca el compilador, Cl.exe, y la opción de /c especifica compilar sin vinculación. Para obtener más información, vea /c (Compilar sin vincular).) En segundo lugar, ejecute lib MathFuncsLib.obj para enlazar el código y crear la biblioteca estática MathFuncsLib.lib. (El comando lib invoca el administrador de bibliotecas, Lib.exe. Para obtener más información, vea Referencia de LIB.)

Para crear la aplicación de consola de c++. que hace referencia a la biblioteca estática

  1. En la barra de menú, elija Archivo, Nuevo, Proyecto.

  2. En el panel izquierdo, en Visual C++, seleccione win32.

  3. En el panel central, seleccione Aplicación de consola Win32.

  4. Especifique un nombre para proyecto-para el ejemplo, MyExecRefsLib-en el cuadro Nombre. En la lista desplegable situada junto a Solución, seleccione Agregar a solución. Esto agrega el nuevo proyecto a la solución que contiene la biblioteca estática. elija el botón de Aceptar .

  5. En la página Información general del cuadro de diálogo Asistente para aplicaciones Win32, elija el botón siguiente.

  6. En la página Configuración de la aplicación, en Tipo de aplicación, seleccione Aplicación de consola.

  7. En la página Configuración de la aplicación, en Opciones adicionales, desactive la casilla encabezado precompilado.

  8. Elija el botón finalizar para crear el proyecto.

Para utilizar la funcionalidad de la biblioteca estática en la aplicación

  1. Después de crear una aplicación de consola, se crea un programa vacío para usted. El nombre del archivo de código fuente será el mismo que el elegido anterior. En este ejemplo, se denomina MyExecRefsLib.cpp.

  2. Para poder utilizar las rutinas matemáticas en la biblioteca estática, debe hacer referencia. Para ello, abra el menú contextual para el proyecto de MyExecRefsLib en Explorador de soluciones, y elija References. En el cuadro de diálogo de MyExecRefsLib Páginas de propiedades, expanda el nodo Propiedades comunes, Marco de trabajo y referencias seleccione y, a continuación el botón Agregar nueva referencia. Para obtener más información sobre el cuadro de diálogo Referencias, vea Marco de trabajo y referencias, Propiedades comunes, Páginas de propiedades de <nombreDeProyecto> (Cuadro de diálogo).

  3. El cuadro de diálogo Agregar referencia muestra las bibliotecas que puede hacer referencia. La ficha Proyectos enumera los proyectos de la solución actual y las bibliotecas que contienen. En la pestaña Proyectos, active la casilla de MathFuncsLib, y después elija el botón Aceptar.

  4. Para hacer referencia al archivo de encabezado MathFuncsLib.h, debe modificar la ruta de acceso de los directorios incluida. En el cuadro de diálogo Páginas de propiedades de MyExecRefsLib, expanda el nodo Propiedades de configuración, expanda el nodo C/C++ y, a continuación General. Junto a Directorios de inclusión adicionales, especifique la ruta de acceso del directorio MathFuncsLib o búsquela.

    Para buscar la ruta del directorio, abra la lista desplegable de valores de propiedad y, a continuación Modificar. En el cuadro de diálogo Directorios de inclusión adicionales, en el cuadro de texto, seleccione una línea en blanco y después elija los puntos suspensivos () al final de la línea. En el cuadro de diálogo Seleccionar directorio, seleccione el directorio de MathFuncsLib y después elija el botón Seleccionar carpeta para guardar la selección y cerrar el cuadro de diálogo. En el cuadro de diálogo Directorios de inclusión adicionales, elija el botón Aceptar y, en el cuadro de diálogo Páginas de propiedades, elija el botón Aceptar para guardar los cambios en el proyecto.

  5. Ahora puede usar la clase MyMathFuncs en esta aplicación. Para ello, reemplace el contenido de MyExecRefsLib.cpp con este código:

    // MyExecRefsLib.cpp
    // compile with: /EHsc /link MathFuncsLib.lib
    
    #include <iostream>
    
    #include "MathFuncsLib.h"
    
    using namespace std;
    
    int main()
    {
        double a = 7.4;
        int b = 99;
    
        cout << "a + b = " <<
            MathFuncs::MyMathFuncs::Add(a, b) << endl;
        cout << "a - b = " <<
            MathFuncs::MyMathFuncs::Subtract(a, b) << endl;
        cout << "a * b = " <<
            MathFuncs::MyMathFuncs::Multiply(a, b) << endl;
        cout << "a / b = " <<
            MathFuncs::MyMathFuncs::Divide(a, b) << endl;
    
        return 0;
    }
    
  6. Compile el archivo ejecutable eligiendo Compilación, Generar solución en la barra de menús.

Para ejecutar la aplicación

  1. Asegúrese de que MyExecRefsLib está seleccionado como proyecto predeterminado abriendo el menú contextual para MyExecRefsLib en Explorador de soluciones y, a continuación eligiendo Establecer como proyecto de inicio.

  2. Para ejecutar el proyecto, en la barra de menú, elija debug, Iniciar sin depurar. El resultado debería ser similar a lo siguiente:

                  a + b = 106,4 a - b = -91,6 a * b = 732,6 a y b = 0,0747475
                

Adiciones de comunidad

AGREGAR
Mostrar: