Como criar arquivos dll
Arquivos DLL são arquivos de biblioteca ligados dinâmicos gravados e controlados com C++. DLLs tornam compartilhamento, armazenar e salvar seu código simples. Este poderá mostrar como criar um arquivo DLL com Estúdio visual, o aplicativo do Windows, ou Estúdio visual Para Mac. Certifique-se de ter "Desenvolvimento de desktop com C ++" marcado quando você instala. Se você já tem o Visual Studio, mas não verificou essa caixa, poderá executar o instalador novamente para garantir que você.
Passos
1. Abra o Visual Studio. Você pode encontrar isso no seu menu inicial ou pasta de aplicativos. Como uma DLL é uma biblioteca de informações, é apenas um pedaço de um projeto e geralmente requer um aplicativo que acompanha.
- Você pode obter o Visual Studio para Windows aqui: https: // docs.Microsoft.COM / EN-US / VisualStudio / Install / Install-Visual-Studio?View = vs-2019
- Visual Studio para Mac pode ser baixado aqui: https: // docs.Microsoft.COM / EN-US / VisualStudio / Mac / Instalação?View = vsmac-2019
- Este poderá usar o código fornecido pela Microsoft para explicar como construir um arquivo DLL.

2. Clique no arquivo. Você encontrará isso acima do espaço do projeto (Windows) ou ao longo do topo da tela (Macs).

3. Clique Novo e projeto. A caixa de diálogo "Criar um novo projeto" aparecerá.

4. Definir as opções para Língua, Plataforma, e Tipo de projeto. Estes filtrarão que tipos de modelos de projeto aparecem.

5. Clique Plataforma Para obter um menu suspenso e clique em janelas.

6. Clique Tipo de projeto Para obter um menu suspenso e clique em Biblioteca.

7. Clique Biblioteca de link dinâmico (DLL). Sua escolha destacará azul. Clique Próximo continuar.

8. Digite um nome na caixa Nome do projeto. Por exemplo, digite "mathlibrary" na caixa para um nome de amostra.

9. Clique Crio. O projeto DLL é criado.

10. Adicione um arquivo de cabeçalho à DLL. Você pode fazer isso clicando "Adicionar novo item" a partir de "Projeto"Na barra de menus.

11. Digite o seguinte código no arquivo de cabeçalho em branco.
// mathlibrary.h - contém declarações de funções matemáticas # pragma uma vez # sedef mathlibrary_exports # Definir mathlibrary_api __declspec (dllexport) # elas # definir mathlibrary_api __declspec (dllimport) # endif // a relação de recorrência de Fibonacci descreve uma sequência f // onde f (n) é {f (n) n = 0, a // {n = 1, b // {n > 1, F (N-2) + F (N-1) // para alguns valores integrais iniciais A e B.// Se a sequência for inicializada f (0) = 1, f (1) = 1, //, esta relação produz a conhecida Fibonacci // Sequence: 1, 1, 2, 3, 5, 8, 13, 21, 34, ...// Inicialize uma sequência de relação de Fibonacci // tal que f (0) = a, f (1) = b.// Esta função deve ser chamada antes de qualquer outra função.extern "C" Mathlibrary_api Void Fibonacci_init (Const Unsigned Long longo a, Const Unsigned Long Long B) - // produz o próximo valor na sequência.// retorna verdadeiro no sucesso e atualiza o valor atual e index - // false no estouro, deixa o valor atual e o índice inalterado.extern "C" Mathlibrary_api bool fibonacci_next () - // obter o valor atual na sequência.extern "C" Mathlibrary_api não assinado longo longo fibonacci_current () - // recebe a posição do valor atual na sequência.extern "C" Mathlibrary_api não assinado fibonacci_index ()-

12. Adicione um arquivo CPP à DLL. Você pode fazer isso clicando em Adicionar novo item a partir de "Projeto" Na barra de menus.

13. Digite o seguinte código no arquivo em branco.
// mathlibrary.CPP: Define as funções exportadas para a DLL.#incluir "stdafx.H" // use pch.H no Visual Studio 2019 # incluir #include #include "Mathlibrary.H"// DLL Variáveis de estado interno: estática não assinada longa longa longa _- // valor anterior, se anystatic não assinada longa longa corrente _- // sequência atual Valuestático index _- // seq atual. posição // Inicialize uma sequência de relação Fibonacci // tal que f (0) = a, f (1) = b.// Esta função deve ser chamada antes de qualquer outra função.VOID FIBONACCI_INIT (Const Unsigned Long longo A, Const Unsigned Long Long B) {index_ = 0-Current_ = A-Anterior_ = B- // Consulte o caso especial quando inicializado} // produz o próximo valor na sequência.// retorna verdadeiro no sucesso, falso no estouro.bool fibonacci_next () {// verifique se nós terminamos resultado ou positionif ((ullong_max - anterior_ < Current_) || (uint_max == index _)) {return False -} // caso especial quando index == 0, basta retornar b valorif (index_ > 0) {// caso contrário, calcule a próxima sequência ValuePrevious_ + = atual _-} std :: swap (Current_, anterior _) - ++ index_-retorno true -} // obter o valor atual na sequência.Não assinado longo long fibonacci_current () {return atual _-} // recebe a posição de índice atual na sequência.Não assinado Fibonacci_Index () {return index_-}

14. Clique Construir Na barra de menus. Você encontrará isso acima do espaço do projeto (Windows) ou ao longo do topo da tela (Macs).

15. Clique Construir solução. Depois de clicar nisso, você deve ver texto semelhante a este:
1>------ Build Iniciado: Projeto: MathLibrary, Configuração: Debug Win32 ------ 1>Mathlibrary.cpp1>dllmain.cpp1>Gerando código...1>Criando Biblioteca C: Usuários Nome de Usuário Source Repos MathLibrary Debug MathLibrary.lib e objeto c: usuários nome de usuário source repOS mathlibrary debug mathlibrary.exp1>Mathlibrary.vcxproj -> C: Usuários Nome de Usuário Source Repes MathLibrary Debug MathLibrary.dll1>Mathlibrary.vcxproj -> C: Usuários Nome de Usuário Source Repes MathLibrary Debug MathLibrary.PDB (PDB parcial) ========== Build: 1 Sucedido, 0 Falha, 0 Até-átimo, 0 Skipped ==========
Compartilhe na rede social: