Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Você pode importar símbolos públicos para um aplicativo ou exportar funções de uma DLL usando dois métodos:
Use um arquivo de definição de módulo (.def) ao criar a DLL
Use as palavras-chave
__declspec(dllimport)ou__declspec(dllexport)em uma definição de função no aplicativo principal
Usando um arquivo .def
Um arquivo de definição de módulo (.def) é um arquivo de texto que contém uma ou mais instruções de módulo que descrevem vários atributos de uma DLL. Se você não usar __declspec(dllimport) ou __declspec(dllexport) exportar funções de uma DLL, a DLL requer um arquivo .def.
Você pode usar arquivos .def para importar para um aplicativo ou exportar de uma DLL.
Usando __declspec
Você não precisa usar __declspec(dllimport) para que seu código seja compilado corretamente, mas isso permite que o compilador gere um código melhor. O compilador é capaz de gerar um código melhor porque pode determinar se uma função existe em uma DLL ou não, o que permite que o compilador produza código que ignora um nível de indireção que normalmente estaria presente em uma chamada de função que cruzou um limite de DLL. No entanto, você deve usar __declspec(dllimport) para importar variáveis usadas em uma DLL.
Com o ficheiro .def apropriado, a secção EXPORTS não é necessária.
__declspec(dllexport) foi adicionado para fornecer uma maneira fácil de exportar funções de um arquivo .exe ou .dll sem usar um arquivo .def.
O formato executável portátil Win32 foi projetado para minimizar o número de páginas que devem ser tocadas para corrigir importações. Para fazer isso, ele coloca todos os endereços de importação para qualquer programa em um lugar chamado Tabela de endereços de importação. Isso permite que o carregador modifique apenas uma ou duas páginas ao acessar essas importações.