Compilando .EXEs no Linux (C/C++)

Publicado por - em 17/12/2018

[ Hits: 587 ]

 


Compilando .EXEs no Linux (C/C++)



A portabilidade é um dos mais importantes fatores, senão o mais, para um software estar disponível para um maior número de usuários. Linguagens de altíssimo nível, como Python, Perl e Lua, executam seus programas em um interpretador, ou seja, cada instrução de cada software é interpretada por um programa, e esse tal programa quem ordena ao processador e demais componentes do computador que sejam executadas as instruções.

Por essa razão, essas linguagens de programação são altamente portáveis, basta instalar um interpretador em qualquer que seja a máquina, ou sistema operacional, e os programas rodarão com nenhuma ou raríssimas alterações.

No entanto, em linguagens de médio nível, como o C e o C++, não existe interpretador. Cada instrução é convertida em binário pelo compilador, e as ordens ao processador e demais componentes é feita diretamente com o hardware! Isso não é muito portável, pois é como se as diferentes arquiteturas e sistemas operacionais falassem idiomas diferentes, é como se uma máquina específica entendesse o código e a outra não.

No Windows, os arquivos executáveis recebem a extensão ".exe" e possuem instruções bem diferentes de sistemas UNIX, como o Linux, que segue um modelo POSIX. Nesta dica, será ensinado como compilar seus programas C/C++ em ambientes Linux, gerando executáveis feitos para o sistema Microsoft! Assim seu amigo, cliente ou qualquer outra pessoa poderá usufruir dos recursos de seu software sem muitos problemas.

1º PASSO

Abra seu gerenciador de pacotes e procure em seus repositórios pelos seguintes pacotes:
  • g++-mingw-w64 (para compilação C++)
  • gcc-mingw-w64 (para compilação C)

Instale-os.

2º PASSO

O uso do MinGW é praticamente idêntico ao dos GCC/G++.

Execute no terminal o comando, substituindo suas variáveis:

ARQUITETURA-w64-mingw32-COMPILADOR -o programa.exe programa.cpp

Onde:
  • ARQUITETURA pode ser x86_64 ou i686.
  • COMPILADOR pode ser gcc ou g++.

Outras dicas deste autor

Como fazer o GRUB reconhecer o Windows

Lista de exercícios de programação

Desvendando o comando tee

Reportando bugs do Fedora e dos produtos RedHat

Como remover repositórios PPAs do sistema

Leitura recomendada

Como limpar a tela em C

getch() e getche() não funcionam no ANSI

Limpando o buffer do teclado em C

Gerando números aleatórios em C

Curso de linguagem C pela UFMG

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts