Programação  
 
Conhecimento computador >> Programação >> C /C + + programação >> 
Como obter um protótipo funcional de DLL
A biblioteca de vínculo dinâmico ou DLL, permite que um aplicativo para carregar apenas o código executável mínimo necessário na memória durante a execução. Sempre que o programa chama uma função em uma DLL , o sistema operacional carrega a DLL na memória , de acordo com as especificações do programador . Enquanto o programa em execução não faz referência a uma função de DLL , a DLL não precisa ocupar espaço. Isso economiza recursos e aumenta o desempenho de tempo de execução . Se a biblioteca eram estáticas , todo o código da biblioteca seria anexado ao código executável principal do programa , eo programa gigante teria que ficar na memória para todo o tempo de execução. A versão do Unix ou Linux de uma DLL do Windows é uma biblioteca de objetos compartilhados que é construída com a extensão SO . Windows, Unix e Linux têm convenções específicas para acessar as funções em DLLs ou bibliotecas compartilhadas . Instruções Exportação Windows DLL objetos usando Preprocessor Keyword
1

seu arquivo de cabeçalho DLL, colocar o " __declspec (dllexport) " palavra-chave antes de o protótipo de uma função , classe, membro da classe ou variável de dados na DLL. Esta palavra-chave acrescenta o protótipo da função de tabela de exportação da DLL.
2

Use valores ordinais de 1 a N no lugar de função ou classe nomes de membros para conservar o espaço ocupado pela tabela de exportação da DLL, onde N é o número de objetos ou funções na DLL .
3

Adicione o " __declspec (dllimport ) " palavra-chave antes que os protótipos de funções correspondentes no programa de chamada ou DLL. O programa de chamada importa as funções que as exportações de DLL .
Exportação DLL do Windows Funções Usando um arquivo de definição de módulo
4

Crie um arquivo de texto com o DEF extensão e adicioná-lo ao projeto para sua DLL no Visual Studio
5

Adicione a declaração "Biblioteca" com o nome da DLL depois da seguinte forma: .

BIBLIOTECA ReportWriter

6

Opcionalmente, adicione uma descrição de uma linha curta para a DLL da seguinte forma: . .

DESCRIÇÃO Esta é uma DLL para a funcionalidade de geração de relatório em MyProduct

Isto é recomendado

7

Adicione uma entrada para cada função ou membro da classe que a DLL quer exportar , com um número cardinal opcional. O número cardinal representa a função e toma valores entre 1 e N , onde N é o número de funções exportados pela DLL . Aqui está um exemplo:

RPT_init @ 1RPT_design @ 2RPT_run @ @ 3RPT_print 4

Após ligar todas as fontes e esse arquivo DEF , o compilador cria um arquivo de exportação com a extensão de EXP e um arquivo de biblioteca de importação , com a extensão de LIB . O compilador usa o arquivo EXP para criar a DLL. O arquivo LIB está ligado ao programa de chamada e mantém informações de importação sobre as funções na DLL .

Anterior :

Próximo : No
  Os artigos relacionados
·Como usar uma função GetOpenFileName 
·O que significa isso , se um arquivo de aplicativo já …
·Diferença entre fgetc e getc 
·Qual é a diferença entre um controle de entrada analó…
·O que fazer com um erro de Trapped in C 
·Por que não posso ver minha Xcode iPhone 
·Como usar arquivos de esqueleto em OGRE 
·Diferenças entre o ATL , MFC e Win32 
·XCode : Como criar uma gota 
·Como fazer um aplicativo para o iPhone no Visual C 
  Artigos em destaque
·Como usar arquivos de esqueleto em OGRE 
·O que significa isso , se um arquivo de aplicativo já …
·Diferença entre fgetc e getc 
·Diferenças entre o ATL , MFC e Win32 
·Como usar uma função GetOpenFileName 
·Como fazer um arquivo VSH 
·XCode : Como criar uma gota 
·Por que não posso ver minha Xcode iPhone 
·Como importar códigos com SVN Xcode 3.2 
·O que fazer com um erro de Trapped in C 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados