executável portátil do Windows, equivalente a Linux

0

Recentemente fiz um jogo simples usando o Unity 3d e descobri que ele funciona em todas as máquinas windows, apenas copiando os arquivos e executáveis.

Eu queria saber como isso pode ser feito, porque eu li que você não pode fazer um programa compilado portátil. Por causa da arquitetura do sistema, a versão do Windows ... Você precisa compilar para cada máquina.

Eu também queria saber se existe algo assim para máquinas Linux.

E se alguém puder me explicar o que está acontecendo ao instalar um jogo (o que o programa está fazendo, se há alguma compilação ou apenas copiar arquivos, defina caminhos e verifique se há dependências)

    
por Ursescu Ionut 24.06.2017 / 23:56

1 resposta

2

Você está certo, um programa deve ser compilado para cada arquitetura e sistema operacional específicos. Programas compilados não são portáveis entre arquiteturas ou sistemas operacionais.

Felizmente, quase todo computador é uma arquitetura x86 de 32 bits ou uma arquitetura x86_64 de 64 bits (compatível com x86). Além disso, todas as versões do Windows após e incluindo o XP são na sua maioria compatíveis, uma vez que todas são baseadas no mesmo kernel. Isso permite que um compilado para x86_64 e Windws seja executado em qualquer máquina Windows de 64 bits e um programa compilado para janelas x86 para rodar basicamente em qualquer máquina Windows. Isso está assumindo que todas as DLLs apropriadas estão em vigor, é claro.

O mesmo vale para o Linux, já que todas as versões do Linux devem ser compatíveis.

Instalar um jogo geralmente copia os arquivos e bibliotecas do jogo para um diretório específico. Às vezes, ele define algumas variáveis necessárias para o jogo ser executado também. O instalador praticamente nunca compila a fonte em tempo real antes de instalar, embora alguns programas (geralmente para Linux) sejam distribuídos como uma fonte que o usuário deve compilar antes de instalar.

    
por 25.06.2017 / 00:56