Uma DLL é uma biblioteca que contém código e dados que podem ser usados po...

Uma DLL é uma biblioteca que contém código e dados que podem ser usados por mais de um programa ao mesmo tempo. Por exemplo, em algumas versões de sistemas operacionais Windows, a DLL Comdlg32 e...


Uma DLL é uma biblioteca que contém código e dados que podem ser usados por mais de um programa ao mesmo tempo. Por exemplo, em algumas versões de sistemas operacionais Windows, a DLL Comdlg32 executa funções relacionadas à caixa de diálogo, e programas podem usar a funcionalidade contida nessa DLL para implementar uma caixa de diálogo, ajudando a promover a reutilização de código e uso de memória eficiente. Sobre essas bibliotecas, é INCORRETO afirmar:

🚀 Desbloqueie a explicação completa

Veja comentários detalhados e resoluções exclusivas para entender o gabarito desta questão.

  • Camila Duarte
    Camila Duarte
    31/12/1969 • 21:00
    Gabarito: d)

    Uma DLL (Dynamic Link Library) é uma biblioteca que permite a reutilização de código e dados por múltiplos programas simultaneamente, promovendo eficiência no uso de memória.

    A alternativa a) está correta porque, na vinculação dinâmica em tempo de execução, o carregamento da DLL é feito manualmente pelo programa usando funções como LoadLibrary, e não é necessário um arquivo .lib para importação.

    A alternativa b) também está correta, pois as funções exportadas pela DLL podem ser vinculadas ao aplicativo tanto no tempo de carregamento (load time) quanto no tempo de execução (runtime).

    A alternativa c) está correta porque, na vinculação dinâmica no tempo de carregamento, o arquivo de biblioteca de importação (.lib) é necessário para que o linker saiba quais funções serão usadas da DLL.

    A alternativa e) está correta, pois para exportar funções de uma DLL, pode-se usar a palavra-chave __declspec(dllexport) ou um arquivo de definição (.def) que lista as funções exportadas.

    Já a alternativa d) é incorreta porque, embora seja comum e recomendável definir a função DllMain como ponto de entrada da DLL para inicialização e limpeza, ela não é obrigatória. Uma DLL pode ser criada sem especificar DllMain, e o sistema operacional simplesmente não chamará nenhuma função de entrada especial. Portanto, a afirmação de que é obrigatório especificar DllMain é falsa.

    Segunda checagem: Revisando a documentação da Microsoft sobre DLLs, confirma-se que DllMain é opcional, e sua ausência não impede a criação ou funcionamento da DLL, apenas limita a possibilidade de executar código na carga e descarga da biblioteca. Isso reforça que a alternativa d) é a incorreta.
🔒
Conteúdo restrito

Cadastre-se para visualizar comentários e resoluções.

Criar conta grátis

Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência. Política de Privacidade.