Diferença entre assembly e DLL
Assembly vs DLL
Uma biblioteca é uma coleção de recursos que podem ser usados para desenvolver aplicativos. Uma biblioteca geralmente é composta de sub-rotinas, funções, classes, valores e tipos. Durante o processo de ligação (normalmente feito por um vinculador), bibliotecas e executáveis fazem referência um ao outro. Os arquivos DLL são os arquivos da biblioteca que estão vinculados dinamicamente. DLL foi desenvolvida pela Microsoft. Mas, devido a alguns problemas presentes com arquivos DLL, a Microsoft apresentou o formato do arquivo Assembly (com a estrutura.NET). Os arquivos de montagem são muito semelhantes às DLLs fisicamente, mas têm muitas diferenças internas.
O que é DLL?
Dynamic Link Library (mais conhecida como DLL) é uma implementação de biblioteca compartilhada desenvolvida pela Microsoft. Ele usa o. dll,. ocx ou. drv extensões e são usados em sistemas operacionais Microsoft Windows e OS / 2 … dll é usado pelos arquivos DLL regulares. E. A extensão ocx é usada pelas bibliotecas que contêm controles ActiveX e. A extensão drv é usada por arquivos de driver do sistema legado. O formato do arquivo DLL é o mesmo que os arquivos do Windows EXE (arquivos executáveis portáteis em Windows de 32 bits / 64 bits e Novo executável no Windows de 16 bits). Portanto, qualquer combinação de código, dados e recursos pode ser contida em arquivos DLL (assim como em arquivos EXE). Como um fato, os arquivos de dados com o formato de arquivo DLL são chamados de DLLs de recursos. As bibliotecas de ícones (com extensão. Icl) e os arquivos de fonte (com extensões.source e.cop) são exemplos de DLL de recursos.
Componentes chamados seções compõem uma DLL e cada seção possui seus próprios atributos, como somente leitura / gravável e executável / não executável. As seções de código são executáveis, enquanto as seções de dados não são executáveis. As seções de código são compartilhadas e as seções de dados são privadas. Isso significa que todos os processos que usam a DLL usará a mesma cópia do código, enquanto cada processo terá sua própria cópia dos dados. A biblioteca dinâmica primária para Windows é kernel32. dll, que contém as funções base (funcionalidade relacionada a arquivos e memória) no Windows. COM (Component Object Model) é a extensão da DLL para OOP (Object Oriented Programming). As DLLs convencionais são mais fáceis de usar do que os arquivos COM.
O que é uma Assembléia?
Arquivos de montagem foram introduzidos pela Microsoft para resolver vários problemas presentes com arquivos DLL. Os arquivos de montagem foram introduzidos com a Microsoft. Framework NET. Uma unidade lógica de lógica executável é chamada Assembly. As assembléias são executáveis em. CLR NET (Common Language Runtime). Fisicamente, as montagens existem como arquivos EXE ou DLL. Mas, eles são muito diferentes das DLL do Microsoft Win32, internamente. Um arquivo de assembly é composto por um manifesto, metadados, MISL (Microsoft Intermediate Language Code) e outros recursos.Uma montagem é auto-descrevente. O manifesto contém informações como nome, versão, cultura, nome forte, lista de arquivos, tipos e dependências. O código MISL é executado através do CLR (não pode ser executado diretamente).
Qual a diferença entre Assembly e DLL?
DLL é uma biblioteca ligada dinamicamente. Embora, as assembléias sejam fisicamente iguais às DLLs, elas são muito diferentes internamente. Não é possível manter a consistência entre um conjunto de DLL, mas o CLR pode manter a consistência entre um conjunto de montagens, porque as montagens são autodescriminalizantes (eles contêm a lista de dependências internamente). Ao contrário das DLLs, as informações de versão são aplicadas para assemblies (pelo CLR). A implantação lado a lado (diferentes aplicativos usando diferentes versões) é possível com montagens.