O que é um comando para compilar e executar programas C ++?

63

Eu sou novo no Linux. Estou usando o Ubuntu 11.04 e não sei como compilar e executar o programa C ++ nele. Eu preciso saber os comandos para compilar e executar um programa C ++ no Linux.

    
por Rajeshkumar 14.09.2011 / 17:44

6 respostas

78

Para compilar seu código c ++, use:

g++ foo.c

foo.c no exemplo é o nome do programa a ser compilado.

Isso produzirá um executável no mesmo diretório chamado a.out , que você pode executar digitando isto no seu terminal:

./a.out

g ++ já deve estar em seu $ PATH, então você não precisa chamar /usr/bin/g++ explicitamente, mas você pode usar o último em qualquer caso.

foo.c deve estar no mesmo diretório em que você está executando o comando. Se houver alguma dúvida, você pode verificar se está no mesmo diretório digitando ls foo.c ou head foo.c (se precisar verificar se está trabalhando com o foo correto.)

Como observado por @ con-f-use, o compilador geralmente tornará este arquivo executável, mas se não, você pode fazer isso sozinho (assim o comando para executar, ./a.out ou equivalente, funcionará):

chmod +x ./a.out

Para especificar o nome do arquivo de saída compilado, para que não seja nomeado a.out, use -o 'com seu comando g ++. Por exemplo,

g++ -o output foo.c

Isto irá compilar foo.c para o arquivo binário chamado output , e você pode digitar ./output para executar o código compilado.

    
por belacqua 14.09.2011 / 17:48
15

Estou fazendo duas suposições aqui:

  1. Você já tem um arquivo / programa de código-fonte C ++ pronto para criar
  2. Você configurou um sistema de construção no seu computador

A maneira mais simples de compilar um programa C ++ no Ubuntu, ou qualquer outra distribuição do Linux, é digitar

g++ main.cpp -o main
  • g ++ é a invocação do componente C ++ do GCC , o compilador de código para C / C ++ e todo o host de outras linguagens na plataforma Linux. Atualmente, é o único compilador capaz de compilar o kernel do Linux.
  • main.cpp é o arquivo fonte c ++ que você deseja compilar.
  • -o main especifica o nome do arquivo de saída que você deseja criar depois que a fonte é compilada. O arquivo de origem de destino e o arquivo de saída de destino podem ser invertidos se você desejar, portanto, g++ -o main main.cpp é igualmente válido.
  • Para então executar esse programa, você precisa fazer ./main no terminal.

Os comandos acima presumem que você já esteja no local dos arquivos de origem, mas tanto o arquivo de origem quanto o arquivo de saída de destino também podem ser especificados como um diretório. Por exemplo

g++ ~/Desktop/main.cpp -o ~/Projects/main

irá compilar um arquivo fonte em C ++ localizado em sua área de trabalho e colocar o binário executável em uma pasta Projects em seu diretório pessoal. Para executar este executável, execute ./Projects/main .

    
por Chris Wilson 15.09.2011 / 10:51
4

É assim que eu gosto de compilar com g ++.

  

$g++ -W -Wall -pedantic -o programName -p sourceFile.cpp

-W: Print extra warning messages for some problems.
-Wall: Enable all the warnings about questionable code
-pedantic: Show all the warnings demanded by strict ISO compliance
-o programName: place the executable output in programName sourceFile.cpp: the 
name of our source code file
    
por Baron 03.09.2016 / 08:03
2
g++ filename.cpp 

por exemplo:

g++ One.cpp

Isso gerará o arquivo de saída nomeado como (por exemplo):

a.out

Se você criar outro programa e compilar isso (por exemplo):

g++ Two.cpp

Isso também gerará um arquivo de saída chamado (por exemplo):

a.out

Isso significa que você pode obter a saída do último programa compilado se você executá-lo. Para evitar isso, use (por exemplo)

g++ One.cpp -o One 

agora, seu arquivo de saída será:

One

Agora, você pode executar o arquivo com o nome especificado por você.

    
por Aman Dharna 22.06.2015 / 20:15
1

Você precisa do g ++, pois o gcc não pode compilar o arquivo cpp facilmente.
Você também precisa aprender vim ou emacs para escrever código C.
Apenas tente isso no seu terminal:

Digite um programa de teste e salve-o:

$vim hello.cc

Compile hello.cc com g ++:

$g++ hello.cc -o hello

Execute:

$./hello

Aqui, o ./ significa que o arquivo exe está sob o diretório atual.

    
por bigeast 14.09.2011 / 18:33
0

g++ é um front-end para gcc (GNU Compiler Collection) com algumas macros c ++ predefinidas e diferentes opções / flags padrão.

compilar o código c ++ com gcc é útil quando g++ não está disponível por qualquer número de razões, na verdade é apenas uma questão de vincular à biblioteca c ++ -lstdc++ e informar o gcc para tratar a entrada como código c ++ (usando uma extensão .C ou forçando o idioma com -x )
outros sufixos de nome de arquivo c ++ válidos: .cc , .cp , .cxx , .cpp , .CPP , .c++

exemplo:

gcc cpp_code.C -lstdc++ a extensão em maiúscula ( .C ) é importante para o gcc saber que é um arquivo c ++.

ou especificando explicitamente o idioma de entrada:

gcc -x c++ cpp_code.txt -lstdc++ extensão pode ser qualquer coisa, ou até mesmo nada

por padrão, o resultado (após uma compilação bem-sucedida) é um arquivo a.out que pode ser executado com ./a.out

    
por user257256 16.07.2016 / 07:45