A DLL é executável?

4

Questão de terminologia e classificação.

A DLL é um "arquivo executável"?

link

    
por Nakilon 16.05.2013 / 15:11

4 respostas

10

Um arquivo DLL não é por ele auto-executável, embora possa conter código executável. Uma DLL (Biblioteca de Links Dinâmicos) contém código, dados, recursos, etc., utilizáveis por outros programas. Você precisa de um arquivo EXE para o sistema operacional executar código dentro de arquivos DLL, como "RUNDLL.EXE" ou "RUNDLL32.exe" nas janelas.

    
por 16.05.2013 / 15:24
5

De acordo com o artigo da Wikipedia, uma DLL é um arquivo executável.

In computing, an executable file causes a computer "to perform indicated tasks according to encoded instructions," as opposed to a data file that must be parsed by a program to be meaningful.

Tomando esta definição, uma DLL é um executável porque contém instruções codificadas para executar uma tarefa.

The exact interpretation depends upon the use; while the term often refers only to machine code files, in the context of protection against computer viruses all files which cause potentially hazardous instruction execution, including scripts, are conveniently lumped together.

Isso também é verdade para as DLLs.

Mas alguns podem argumentar que uma DLL não pode ser executada sozinha, ela sempre precisa de algum programa que carregue a DLL e chame uma função exportada pela DLL, portanto, em um sentido estrito, você também pode dizer que apenas arquivos exe Windows) são arquivos executáveis. Como a Wikipedia diz ...

The exact interpretation depends upon the use

Eu tentaria usar termos ou frases que o deixassem mais claro e evitasse falar de arquivos executáveis se não estiver claro no contexto dado se as DLLs estão incluídas ou não. Mesmo no meu trabalho (desenvolvedor de software), eu não teria certeza se todos concordariam que "arquivos executáveis" também significam DLLs.

    
por 16.05.2013 / 16:15
1

Não, eles não são, mesmo que usem um formato de arquivo similar, DLL s são uma espécie de local de armazenamento onde você pode colocar qualquer coisa útil para o seu executável. O executável será vinculado à DLL e carregará código do objeto , ícones e muitas outras coisas.

    
por 16.05.2013 / 15:20
1

Os arquivos DLL contêm código executável, mas não é todo suficiente.

Normalmente, o arquivo DLL contém funções de biblioteca, ajudantes.

    
por 21.05.2013 / 17:25