Criando e usando uma biblioteca estático (C++)

O próximo tipo de biblioteca criaremos é um estático biblioteca (LIB).Usando estático bibliotecas é uma ótima maneira de reutilizar o código.Em vez de reimplementação mesmas rotinas em todos os programas que você criar, você escreve uma vez e referenciá-los a partir de aplicativos que precisam da funcionalidade.

Esta explicação passo a passo aborda o seguinte:

  • Criar um novo estático projeto de biblioteca.

  • Adicionando uma classe para o estático biblioteca.

  • Criando um aplicativo que faz referência a estático biblioteca.

  • Usando a funcionalidade do estático biblioteca no aplicativo de console.

  • Executar o aplicativo.

Pré-requisitos

Este tópico pressupõe que você entenda os fundamentos da linguagem C++.Se apenas começar aprendendo C++, recomendamos que o "Guia de C++ iniciantes", escrito por Herb Schildt, disponível online emhttps://go.Microsoft.com/fwlink/?LinkId=115303.

Para criar um novo estático projeto de biblioteca

  1. From a Arquivo menu, selecionar Novo and then Projeto ….

  2. Sobre o Tipos de projeto painel, em O Visual C++, selecionar Win32.

  3. Sobre o Modelos painel, selecionar Aplicativo do Console Win32.

  4. escolher um nome para o projeto such sistema autônomo MathFuncsLib e digite-o no Nome campo.escolher um nome para a solução, sistema autônomo StaticLibrary e digite-o no Nome da solução campo.

  5. Pressione OK para iniciar o Win32 aplicativo assistente.Sobre o Visão geral página de do Assistente de aplicativos Win32 caixa de diálogo, pressione Próximo.

  6. Sobre o Configurações do aplicativo página de do Assistente de aplicativos Win32, under Tipo de aplicativo, selecionar estático biblioteca.

  7. Sobre o Configurações do aplicativo página de do Assistente de aplicativos Win32, under Opções adicionais, desmarcar o Cabeçalho pré-compilado a caixa de seleção.

  8. Pressione Concluir para criar o projeto.

Para adicionar uma classe para o estático biblioteca

  1. Para criar um arquivo de cabeçalho para uma nova classe do Projeto menu, selecionar Adicionar novo item ….The Adicionar novo item caixa de diálogo será exibida.From a Categorias painel, em O Visual C++, selecionar Código.From a Modelos painel, selecionar Arquivo de cabeçalho (. h).escolher um nome para o arquivo de cabeçalho, sistema autônomo MathFuncsLib.h e pressione Adicionar.Um arquivo em branco será exibido.

  2. Adicione uma classe simples denominada MyMathFuncs fazer operações matemáticas comuns, tais sistema autônomo adição, subtração, multiplicação e divisão.O código deve ser semelhante ao seguinte:

    // 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
            // Throws DivideByZeroException if b is 0
            static double Divide(double a, double b);
        };
    }
    
  3. Para criar um arquivo de fonte para uma nova classe do Projeto menu, selecionar Adicionar novo item ….The Adicionar novo item caixa de diálogo será exibida.From a Categorias painel, em O Visual C++, selecionar Código.From a Modelos painel, selecionar Arquivo do C++ (CPP).escolher um nome para o arquivo de fonte, tais sistema autônomo MathFuncsLib.cpp e pressione Adicionar.Um arquivo em branco será exibido.

  4. Implementar a funcionalidade para MyMathFuncs no arquivo de fonte.O código deve ser semelhante ao seguinte:

    // 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)
        {
            if (b == 0)
            {
                throw new invalid_argument("b cannot be zero!");
            }
    
            return a / b;
        }
    }
    
  5. Para criar o projeto em um estático biblioteca, a partir de Projeto menu, selecionar MathFuncsLib Properties….No painel esquerdo, em Propriedades de configuração, selecionar Geral.No painel à direita, altere o Tipo de configuração to Biblioteca estática (.lib).Pressione OK para salvar as alterações.

    Observação:

    Quando você compilação da linha de comando, você deve compilação o programa em duas etapas.Primeiro, compilar o código Por Usando Cl.exe com o /c (de opção do compiladorcl /c /EHsc MathFuncsLib.cpp). Este será criar um arquivo de objeto chamado MathFuncsLib.obj.Para obter mais informações, consulte /c (Compilar sem vínculo).Segundo, vincular o código usando o Gerenciador biblioteca Lib.exe (lib MathFuncsLib.obj). Isso criará a estático biblioteca MathFuncsLib.lib.Para obter mais informações sobre o Gerenciador de bibliotecas, consulte Referência LIB.

  6. Compilar o estático biblioteca selecionando Criar solução from the Compilação menu.Isso cria um estático biblioteca pode ser usada por outros programas.

Para criar um aplicativo que faz referência a estático biblioteca

  1. Para criar um aplicativo que irá referenciar e usar o estático biblioteca que acabou de ser criada, da Arquivo menu, selecionar Novo and then Projeto ….

  2. Sobre o Tipos de projeto painel, em O Visual C++, selecionar Win32.

  3. Sobre o Modelos painel, selecionar Aplicativo do Console Win32.

  4. Selecione um nome para o projeto such sistema autônomo MyExecRefsLib e digite-o no Nome campo.Próximo a Solução, selecionar Adicionar à solução na lista suspensa.Isso adicionará o novo projeto para a mesma solução sistema autônomo o estático biblioteca.

  5. Pressione OK para iniciar o Assistente de aplicativos Win32.Sobre o Visão geral página de do Assistente de aplicativos Win32 caixa de diálogo, pressione Próximo.

  6. sobre o Configurações do aplicativo página de do Assistente de aplicativos Win32, under Tipo de aplicativo, selecionar Aplicativo de console.

  7. Sobre o Configurações do aplicativo página de do Assistente de aplicativos Win32, under Opções adicionais, desmarcar Cabeçalho pré-compilado.

  8. Pressione Concluir para criar o projeto.

Para usar a funcionalidade do estático biblioteca no aplicativo de console

  1. Depois de criar um novo aplicativo de console, o assistente cria um programa vazio para você.O nome do arquivo de fonte será igual ao nome que você escolheu anteriormente para o projeto.Neste exemplo, ele é denominado MyExecRefsLib.cpp.

  2. Para usar as rotinas de matemática que você criou na estático biblioteca, você deve referenciá-los.Para fazer isso, selecionar References… from the Projeto menu.From a Páginas de propriedades caixa de diálogo, expandir o Propriedades comuns nó e selecionar Referências.Em seguida, selecionar o Adicionar novo Reference… botão.Para obter mais informações sobre o References… caixa de diálogo, consulte Estrutura e referências, ComComummon Properties, < ProjectName > Caixa de diálogo de páginas de propriedade.

  3. A caixa de diálogo Add Reference é exibida.Esta caixa de diálogo lista todas as bibliotecas que você possa fazer referência.The Projeto guia lista todos os projetos na solução corrente e todas as bibliotecas que eles contêm.Sobre o Projetos guia, selecionar MathFuncsLib.Em seguida, selecionar OK.Para obter mais informações sobre o Adicionar referência caixa de diálogo, consulte Caixa de diálogo Add Reference.

  4. Para fazer referência os arquivos de cabeçalho da biblioteca estática, você deve modificar o caminho de diretórios de inclusão.Para fazer isso, no Páginas de propriedades diálogo caixa, expandir o Propriedades de configuração nó, expandir o C/C++ nó e, em seguida, selecionar Geral.Próximo a Outros diretórios de inclusão, digite o caminho para o local do arquivo de cabeçalho MathFuncsLib.h.

  5. Agora você pode usar a classe MyMathFuncs neste aplicativo.Substitua o Sumário de MyExecRefsLib.cpp com o código a seguir:

    // 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. Crie o arquivo executável, selecionando Criar solução from the Compilação menu.

Para executar o aplicativo

  1. Verifique se a opção que MyExecRefsLib é selecionada sistema autônomo o projeto padrão.No O gerenciador de soluções, selecionar MyExecRefsLib e, em seguida, selecionar conjunto sistema autônomo inicialização Project from the Projeto menu.

  2. Para executar o projeto, selecionar Iniciar sem depuração from the Depurar menu.A saída deverá ser semelhante a esta:

    a + b = 106.4
    a - b = -91.6
    a * b = 732.6
    a / b = 0.0747475
    

Próximas etapas

Anterior:Criando e usando uma biblioteca de vínculo dinâmico (C++) | Próxima:Criando e usando um assembly gerenciado (C++)

Consulte também

Tarefas

Tour guiado do Visual C++

Implantando o programa (C++)

Outros recursos

Metodologias de programação ComComumComum

Implantação (C++)