Inicializando uma DLL
Normalmente, a DLL tem código de inicialização (como a alocação de memória) que deve executar quando sua DLL é carregado.Ao usar o Visual C++, onde você adicionar código para inicializar sua DLL depende do tipo de DLL que você está criando.Se você não precisará adicionar código de inicialização ou rescisão, não há nada de especial que você precisa fazer ao criar sua DLL.Se você precisar inicializar sua DLL, a tabela a seguir descreve onde adicionar seu código.
Tipo DLL |
Onde adicionar código de inicialização e encerramento |
---|---|
DLL regular |
In the DLL's CWinApp object's InitInstance and ExitInstance. |
DLL de extensão |
No DllMain função gerada pelo Assistente de DLL do MFC. |
DLL de MFC |
Em uma função chamada DllMain que você fornecer. |
No Win32, todas as DLLs podem conter uma função de ponto de entrada opcional (normalmente chamado de DllMain) que é chamado de inicialização e encerramento.Isso lhe dá a oportunidade de alocar ou liberar recursos adicionais conforme necessário.Windows chama a função de ponto de entrada em quatro situações: processo anexar, desanexar do processo, thread anexar e desanexar do thread.
A biblioteca de tempo de execução c fornece uma função de ponto de entrada chamada _DllMainCRTStartup, e chama DllMain.Dependendo do tipo de DLL, você deve ter uma função chamada DllMain na sua fonte de código ou você deve usar o DllMain fornecidas na biblioteca MFC.
O que você deseja fazer?
O que você deseja saber mais sobre?
O comportamento de biblioteca de tempo de execução c e _DllMainCRTStartup
Função de ponto de entrada da biblioteca de vínculo dinâmico (SDK do Windows)