Compartilhar via


EXPORTAÇÕES

Apresenta uma seção de um ou mais definitions que são funções exportadas ou dados. Cada definição deve estar em uma linha separada.

EXPORTS
definitions

Comentários

The EXPORTAÇÕES palavra-chave pode ser na mesma linha sistema autônomo a primeira definição ou em uma linha anterior.O arquivo .def pode conter um ou mais EXPORTAÇÕES instruções.

A sintaxe exportar definitions é:

entryname[=internalname] [@ordinal [NONAME]] [PRIVATE] [DATA]

nome_da_entrada é o nome de função ou variável que você deseja exportar.Isso é necessário.Se o nome que você exporte for diferente do nome da dll, especifique o nome da exportar na DLL com InternalName.Por exemplo, se sua DLL exporta uma função, func1() e você deseja que ele seja usado sistema autônomo func2(), especifique:

EXPORTS
func2=func1

@ordinal permite que você especificar que um número e não o nome da função, irá para a tabela de exportar da DLL. Isso pode ajudar você minimizar o dimensionar da sua DLL.O arquivo .lib conterá o mapeamento entre o ordinal e a função, que permite que você use o nome da função, sistema autônomo faria normalmente em projetos que usam a DLL.

O opcionalNONAME palavra-chave permite que você exporte ordinal somente e reduzir o dimensionar da tabela de exportar na DLL resultante.No entanto, se você quiser usar GetProcAddress na DLL, você deve conhecer o ordinal como o nome não será válido.

A palavra-chave opcional PARTICULAR impede quenome_da_entrada de ser colocado na biblioteca de importação gerada pelo LINK.Ele não tem efeito sobre a exportar da imagem também gerado pelo LINK.

A palavra-chave opcional DADOS Especifica que uma exportar de dados, não código.Por exemplo, você pode exportar uma variável de dados da seguinte maneira:

EXPORTS
i DATA

Quando você usa PARTICULAR and DADOS exportar mesma, PARTICULAR deve preceder DADOS.

Há três métodos para a exportação de uma definição, listada na ordem recomendada de uso:

  1. The __declspec(dllexport) palavra-chave no código-fonte

  2. An EXPORTAÇÕES demonstrativo em um arquivo .def

  3. An / exportarespecificação de em um LINK de comando

Todos os três métodos podem ser usados no mesmo programa.Quando o LINK cria um programa que contenha exportações, ele também cria uma biblioteca de importação, a menos que um arquivo .exp é usado na compilação.

Uma seção EXPORTS do exemplo é:

EXPORTS
   DllCanUnloadNow      @1     PRIVATE   DATA
   DllWindowName = Name        DATA
   DllGetClassObject    @4 NONAME   PRIVATE
   DllRegisterServer    @7
   DllUnregisterServer

Note que, quando você exporta uma variável de uma DLL com um arquivo .def, você não precisa especificar __declspec(dllexport) na variável.No entanto, em qualquer arquivo que usa a DLL, você deve ainda usar __declspec(DllImport) na declaração de dados.

Consulte também

Referência

Regras para instruções de definição de módulo