Vinculando um executável a uma DLL
Um arquivo executável vincula (ou carrega) a uma DLL de uma das duas maneiras:
A vinculação implícita às vezes é chamada de carregamento estático ou vinculação dinâmica em tempo de carregamento. A vinculação explícita às vezes é chamada de carregamento dinâmico ou vinculação dinâmica em tempo de execução.
Com a vinculação implícita, o executável que usa a DLL é vinculado a uma biblioteca de importação de arquivo (.lib) fornecida pelo fabricante da DLL. O sistema operacional carregará a DLL quando o executável que a estiver usando for carregado. O executável do cliente chama funções exportadas da DLL exatamente como se as funções estivessem contidas no executável.
Com a vinculação explícita, o arquivo executável que usa a DLL deve fazer chamadas de função para carregar e descarregar a DLL e para acessar explicitamente as funções exportadas da DLL. O executável cliente deve chamar as funções exportadas por meio de um ponteiro de função.
Um executável pode usar a mesma DLL com qualquer método de vinculação. Além disso, esses mecanismos não são mutuamente exclusivos, porque um executável pode implicitamente vincular-se a um DLL e outro pode anexar-se a ele explicitamente.
Que você deseja saber mais?
Trabalhando com bibliotecas de importação e arquivos de exportação
O caminho de pesquisa usado pelo Windows para localizar uma DLL