de 32 bits e 64 bits no Windows e no Linux

0

Desculpe a pergunta um pouco básica e provavelmente geral: Eu ouvi / li em algum lugar que no Windows você pode executar um executável de 32 bits em uma máquina de 64 bits e vice-versa; mas não pode fazer isso no Linux / UNIX. Esperando que um especialista possa fornecer alguns detalhes / razões ou alguma boa referência (links) sobre isso?

    
por studiohack 19.04.2011 / 05:00

4 respostas

3

Você pode fazer isso em ambos.

A arquitetura da CPU amd64 / x64 pode executar instruções de 32 bits, portanto, isso não é um problema. E os kernels do Windows e Linux podem lidar com um processo de 32 bits. O que geralmente se resume a bibliotecas compartilhadas. Um programa de 32 bits precisa usar bibliotecas compartilhadas de 32 bits. Se a versão de 32 bits das bibliotecas necessárias não estiver instalada, o link dinâmico do tempo de execução falhará e o programa não será executado por falta da biblioteca.

A Microsoft vem com versões de 32 bits de praticamente todas as bibliotecas necessárias, uma vez que elas realmente querem que coisas de 32 bits sejam executadas (diabo - alguns de seus próprios programas ainda são fornecidos como binários de 32 bits!). No Linux, você precisa ter certeza de que instalou pacotes como o ia32-libs para ter versões de 32 bits de bibliotecas compartilhadas comuns.

Dito isto, em ambos os sistemas de 64 bits certamente pode haver programas individuais de 32 bits que não são executados porque dependem de alguma biblioteca compartilhada mais obscura que não é fornecida com o sistema operacional.

    
por 19.04.2011 / 05:06
1

Você pode fazer isso em ambos, mas se um determinado programa pode funcionar dependerá da disponibilidade de bibliotecas.

Tanto o Linux quanto o Windows possuem bibliotecas compartilhadas (o Windows as chama de DLLs), que são específicas da arquitetura. Você não pode carregar uma biblioteca de 64 bits em um processo de 32 bits e vice-versa.

Ambos os conjuntos de bibliotecas geralmente estão disponíveis e são mantidos em diretórios diferentes para que o carregador não os misture (as distribuições Linux normalmente colocam bibliotecas de 64 bits em / usr / lib64 ou / lib64)

    
por 19.04.2011 / 08:43
0

Você não pode executar aplicativos de 64 bits em um sistema operacional de 32 bits até onde eu saiba ...

No entanto, tanto o Windows & O Linux 64bits pode rodar aplicativos de 32 bits.

    
por 19.04.2011 / 09:56
0

Você provavelmente precisará instalar bibliotecas de compatibilidade de 32 bits para executar aplicativos de 32 bits no Linux. É claro que o que você precisa instalar varia de distribuição para distribuição. Com o Ubuntu você usaria esses comandos do terminal:

apt-get update
apt-get install ia32-libs
    
por 28.04.2011 / 04:28

Tags