1
resposta

[Dúvida] Duvida sobre Compilador

Olá pessoal td certo?

Então, por volta do minuto 2:02 o professor comenta que o compilador tem a desvantagem que o codigo gerado só consegue rodar em tipos de máquinas especificos, ou seja a que ele foi gerado, ou máquinas muito parecidas. Fiquei na dúvida o como isso realmente funciona, ele se refere a configuração da máquina, tipo processador memorias placa de video, marca ou capacidade? ou seria por versões de Windows e outros sistemas operacionais instalados na máquina? Oque eu deveria fazer para conseguir rodar este código em uma máquina diferente?

Se alguem puder explicar melhor ou postar algum artigo ou video onde isso se explica eu ficaria grato =D

1 resposta

Fala Gabriel, tudo certo?

É isso mesmo, um compilador gera código executável para um tipo de sistema específico, a partir de um código-fonte, em geral o maior limitador que temos hoje são os diferentes sistemas operacionais, pois eles que se encarregam de conversar com o hardware do nosso computador, e cada um deles faz isso da sua maneira. No entanto, também tem de ser levado em consideração a arquitetura do processador, se é de 64 ou 32 bits.

Então, na prática, a partir de um mesmo código fonte, para que o programa consiga rodar em diferentes sistemas, é normal que tenhamos que recompilar esse código para cada sistema operacional diferente (Linux, Windows, MacOS), o mesmo arquivo executável não vai funcionar em todos os sistemas.

Existe também, uma alternativa onde é possível que a partir de um mesmo arquivo executável possa ser executado em diferentes sistemas, com uma camada extra: uma máquina virtual. Você pode conferir mais sobre o processo de compilação tradicional, bem como o que usa uma máquina virtual no artigo JVM: conhecendo o processo de execução de código.

Um grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!