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

Publicado por - em 17/12/2018

[ Hits: 2.011 ]

 


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

Adicionando wallpaper/papel de parede no i3

Desabilitando o chaveiro de sessão no Google Chrome

Instalando o Wine em qualquer distribuição Linux

Listando pacotes instalados no sistema com DPKG

Fazendo o touchpad ("mouse do notebook") funcionar no Linux

Leitura recomendada

Desenvolvimento com C/C++ e GTK

Limpando o buffer do teclado em C

Usando o compilador gcc

Utilizando funções em C++

Fazendo comparações sem o uso de IF, ELSE em C

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts