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

Publicado por - em 17/12/2018

[ Hits: 1.185 ]

 


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

Fazendo o Debian reconhecer seu hardware

Editando PDFs com o LibreOffice

Como remover repositórios PPAs do sistema

Criando animações GIF no GIMP

Desativando os efeitos do KDE

Leitura recomendada

Incluindo paths para os seu próprios headers

Melhor Controle de Memória de Strings em C

Qt 4.5 (Desenvolvimento multi-plataforma em C++ com Qt)

Usando o friend em C++

Acessando um valor dada sua posição numa matriz bidimensional

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário