bibliotecas no linux e windows [RESOLVIDO]

1. bibliotecas no linux e windows [RESOLVIDO]

Vinícius dos Santos Oliveira
vinipsmaker

(usa Arch Linux)

Enviado em 06/01/2009 - 15:47h

Eu percebi que o ruindows tem uma vantagem (1 contra quase 1000 não é preocupante), eu acho, em relação a bibliotecas.

No windows as bibliotecas estão em conjuntos de arquivos dll e alguns programas são incompatíveis com bibliotecas mais novas ou mais velhas. No ruindows os programas procuram os arquivos dll primeiro na pasta do executável e depois nas pastas do sistema. Desta forma dois programas diferentes que estejam instalados no windows podem acessar, cada um, versões diferentes da mesma biblioteca (SDL, por exemplo).

Quero saber se no linux este recurso também é possível. Se não for não é muito preocupante já que há um monte de aplicativos open-source no linux e é só atualizá-los manualmente para resolver o "problema".


  


2. MELHOR RESPOSTA

Júlio Ferreira de Souza Neto
juliofsn

(usa Fedora)

Enviado em 06/01/2009 - 16:52h

Pra alguns isso é uma vantagem, pra outros é exatamente o maior defeito do Windows.

O fato de bibliotecas estarem associadas à aplicação, e não ao sistema, faz com que muitas vezes uma biblioteca seja replicada no sistema, ocupando espaço em disco desnecessário. Sem falar no desastre que pode ocorrer se bibliotecas diferentes de mesmo nome forem colocadas na mesma pasta e uma sobreescrever a outra.

Em compensação não se tem problemas de compatibilidade seguindo essa idéia. O Linux hoje tem os arquivos .so que são praticamente a mesma coisa, mas no caso das distros Linux, geralmente quando há alguma atualização em uma lib, os programas dependentes também são atualizados.

A principal diferença é que no Windows, as dll's podem ganhar permissão para acessar níveis mais baixos do sistema operacional, até mesmo acessar diretamente o hardware, assim fica bem mais simples de se distribuir drivers de equipamentos para Windows, já que é necessário apenas copiar essas dll's.

O problema nesse caso é exatamente o fato de se poder permitir que um software feito por terceiros acesse seu hardware, podendo gerar um grande furo de segurança.

3. Re: bibliotecas no linux e windows [RESOLVIDO]

Rafael Arcanjo
ST. RaLF

(usa Arch Linux)

Enviado em 06/01/2009 - 15:54h

Você pode tratar isto na programação.

Porém isto também pode ser tratado no PATH, se eu não me engano.


4. Re: bibliotecas no linux e windows [RESOLVIDO]

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 06/01/2009 - 17:27h

mas no linux também ocorre isso. é determinado pela especificação do binutils que construiu o sistema base. usualmente a busca se dá em /usr/local/lib e /usr/lib, além do próprio diretório onde a aplicação está.
algumas maneiras de "customizar" isso:
1 - adicionar diretórios que contenham bibliotecas em LD_LIBRARY_PATH (ou LIBPATH em alguns casos)
2 - especificar o runpath na hora da compilação. (opção -R)
3 - instruir o linker a um hard build com o caminho da biblioteca desejada (na prática é quase semelhante à solução anterior)
4 - adicionar os diretórios de busca por bibliotecas em ld.so.conf (e posteriormente rodar #ldconfig), ou fazer: # ldconfig -n <caminho>
5 - alguns scripts configure fornecem alternativas de caminhos para algumas bibliotecas específicas. no caso da sdl, como mencionada, não raro há alguma opção como --with-sdl-lib

considere as alternativas 4 e 5 como as mais práticas e viáveis na maioria das vezes, até mesmo por serem menos "forçação de barra"






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts