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

Publicado por - em 17/12/2018

[ Hits: 1.992 ]

 


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 touchpad ("mouse do notebook") funcionar no Linux

Fazendo o Debian reconhecer seu hardware

Lista de exercícios de programação

Desvendando o comando tee

Restaurando as configurações de fábrica/padrões do Cinnamon

Leitura recomendada

Como executar um programa em C via Terminal [Vídeo]

Série de Fibonacci usando recursividade em linguagem C

Getchar(); sendo ignorado? Não mais!

Função clrsc() no devC++

Ocorrência de uma string em outra

  

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