libpad for Windows
Pango
PangoCairo
PangoFT2
pkcs11helper An easy way to access PKCS#11 modules
PNG image compression library
Libpng12: PNG image compression library
PNG image compression library with APNG Patch
PNG image compression library
PostgreSQL Access Library
PowerDirector
TODO: <文件说明>
libresample
CMU SASL API v2
Pad for Windows (DLL)
sdxContainer Module
Steganos Shredder DLL
The Typesafe Callback Framework for C++
Soundfile
The Sodium crypto library (libsodium)
OpenSSL library
OpenSSL library
Quando se obtém uma janela de erro do sistema dizendo que falta um ficheiro DLL, surgem as seguintes questões: qual é o seu objectivo
Os ficheiros DLL têm um propósito fundamental, reduzir o código e aumentar o desempenho do computador. Um ficheiro DLL é uma biblioteca dinâmica que é utilizada por todas as aplicações
Podem ocorrer erros num PC Windows que esteja associado a ficheiros DLL. Estes erros impedem o utilizador de executar os seus programas requeridos. As mensagens de erro começam a aparecer no ecrã, especificando exactamente que ficheiro .DLL está em falta. O problema pode ser resolvido encontrando o ficheiro específico e colocando-o no directório do sistema
Os ficheiros DLL são considerados na maioria das operações de utilização como sendo o principal factor de erros quando o Windows arranca e corre. Um ficheiro DLL não precisa de ser editado porque pode causar novos problemas que irão afectar muitos programas com outros ficheiros DLL
Os códigos numa DLL são considerados como partilhados pelos processos que necessitam da DLL (os ficheiros estão na memória física)
Versões mais antigas do Windows, onde cada processo em execução tinha uma extensa área de tarefas, exigia uma cópia do código DLL.
Por exemplo, programas específicos de uma DLL carregada não têm estes endereços numa base livre. Então é necessário fazer outra cópia do código da DLL com uma base de um conjunto único de coeficientes de entrada relocalizáveis. Se a memória física precisar de ser restaurada, o código da partição ocupada é reiniciado juntamente com o conteúdo, e é feita uma rápida recarga a partir do ficheiro DLL. Além disso, o GDI carrega todos os outros drivers de dispositivos, pelo que o Windows começa a carregar o resto dos pacotes do Windows, chamando a estes programas API de USER/GDI
Devido a isto, o ficheiro DLL transporta muitos utilitários de uma só vez. Com actualizações de DLL para uma versão moderna, a versão anterior é sobreescrita ou apagada do PC. Os controlos ActiveX, os registos do painel de controlo e os drivers de dispositivos são a base de dados para o Windows como bibliotecas de ligações dinâmicas
Existem várias formas comprovadas de lidar com problemas de DLL:
Os ficheiros executáveis relacionados podem ser carregados mais cedo se os executar em configurações semelhantes às que foram compiladas. Acrescentemos que cada alvo padrão do Windows tem ficheiros DLL associados
Uma grande alternativa para ligar a importação ao ambiente alvo é arrancar com uma instalação de utilitário. Mas um programa deste tipo altera o valor de verificação do executável. As versões posteriores do Windows já não têm o endereço de cada biblioteca carregada, o que leva a um executável muito mais pequeno
Muitas bibliotecas de ligação dinâmica têm um .DLL que termina nos seus ficheiros, mas outras bibliotecas utilizam .OCX, .CPL, .DRV. Os pacotes de definição, tais como UPX comprimem a DLL, o que leva a um problema: as secções de código de leitura e escrita não são separadas. Estas secções assemelham-se a partições não públicas porque são privadas dentro de cada processo
Como resultado, as DLLs com secções públicas devem necessariamente ser descomprimidas quando vários pacotes as utilizam simultaneamente. Cada instância do programa deve ter uma cópia privada das DLLs