c++ - with - how to execute c program in terminal




Como compilar e executar o C/C++ em um terminal Unix/Mac? (10)

Adicione o seguinte para obter os melhores avisos, você não vai se arrepender. Se você puder, compile o WISE (aviso é erro)

- Wall -pedantic -Weffc++ -Werror

Como posso compilar / executar C ou C ++ no console Unix ou em um terminal Mac?

(Eu sei, esqueça, e reaprenda-o novamente. Hora de anotá-lo.)


Basta entrar no diretório em que o seu arquivo c / cpp é.

para compilar e executar o código c.

$gcc filename.c
$./a.out filename.c

para compilar e executar código c ++.

$g++ filename.cpp
$./a.out filename.cpp

"$" é o símbolo do terminal mac padrão


Este é o comando que funciona em todas as máquinas Unix ... Eu uso no Linux / Ubuntu, mas também funciona no OS X. Digite o seguinte comando no Terminal.app .

$ g++ -o lab21 iterative.cpp

-o é a letra O não zero

lab21 será o seu arquivo executável

iterative.cpp é o seu arquivo c ++

Depois de executar esse comando, digite o seguinte no terminal para executar seu programa:

$ ./lab21


Para compilar programas C ou C ++, existe um comando comum:

  1. make filename

  2. ./filename

make irá construir seu arquivo de origem em um arquivo executável com o mesmo nome. Mas se você quiser usar o modo padrão, você pode usar o compilador gcc para construir programas C & g + + para c + +

Para C:

gcc filename.c

./a.out

Para C ++:

g++ filename.cpp

./a.out

Ryan, estou mudando isso para ser uma resposta em vez de um comentário, já que parece que eu fui muito breve. Faça tudo isso em "Terminal".

Para usar o compilador G ++, você precisa fazer isso:

  1. Navegue até o diretório no qual você armazenou o arquivo * .cpp.

    cd ~/programs/myprograms/
    (o ~ é um atalho para sua casa, ou seja, / Users / Ryan / programs / myprograms /, substitua pelo local que você realmente usou.)

  2. Compile

    g++ input.cpp -o output.bin (output.bin pode ser qualquer coisa com qualquer extensão, na verdade. bin é apenas comum em unix.)

    Não deve haver NADA devolvida se for bem sucedida, e está tudo bem . Geralmente você recebe devoluções de falhas.

    No entanto, se você digitar ls , verá a lista de arquivos no mesmo diretório. Por exemplo, você veria as outras pastas, input.cpp e output.bin

  3. De dentro do diretório, agora execute-o com ./outbut.bin


Supondo que o diretório atual não esteja no caminho, a sintaxe é ./[name of the program] .

Por exemplo ./a.out


Toda a execução de aplicativos em um ambiente Unix (Linux, Mac OS X, AIX, etc.) depende do caminho de pesquisa executável.

Você pode exibir este caminho no terminal com este comando:

echo $ PATH

No Mac OS X (por padrão), isso exibirá o seguinte caminho de pesquisa separado por dois pontos:

/ usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin: / usr / X11 / bin

Portanto, qualquer executável nos diretórios listados pode ser executado apenas digitando seu nome. Por exemplo:

cat mytextfile.txt

Isso executa /bin/cat e exibe mytextfile.txt para o terminal.

Para executar qualquer outro comando que não esteja no caminho de pesquisa executável, é necessário qualificar o caminho para o executável. Então, digamos que eu tivesse um executável chamado MyProgram no meu diretório pessoal no Mac OS XI, pode qualificá-lo totalmente da seguinte forma:

/ Users / oliver / MyProgram

Se você estiver em um local próximo ao programa que deseja executar, poderá qualificá-lo com um caminho parcial. Por exemplo, se MyProgram estava no diretório /Users/oliver/MyProject I e eu estava em meu diretório home, eu posso qualificar o nome do executável como este e fazer com que ele seja executado:

MyProject / MyProgram

Ou digamos que eu estava no diretório /Users/oliver/MyProject2 e queria executar /Users/oliver/MyProject/MyProgram eu posso usar um caminho relativo como este, para executá-lo:

../MyProject/MyProgram

Da mesma forma, se eu estiver no mesmo diretório do MyProgram , preciso usar um caminho relativo "diretório atual". O diretório atual em que você está é o caractere de período seguido por uma barra. Por exemplo:

./MyProgram

Para determinar em qual diretório você está atualmente, use o comando pwd .

Se você costuma colocar programas em um local no disco rígido que deseja executar sem precisar qualificar seus nomes. Por exemplo, se você tiver um diretório "bin" em seu diretório home para scripts de shell regularmente usados ​​de outros programas, pode ser aconselhável alterar seu caminho de busca executável.

Isso pode ser feito facilmente criando ou editando o arquivo .bash_profile existente em seu diretório inicial e adicionando as linhas:

#!/bin/sh
export PATH=$PATH:~/bin

Aqui, o caractere til (~) está sendo usado como um atalho para / Users / oliver. Observe também que a linha hash bang (#!) Precisa ser a primeira linha do arquivo (se ela ainda não existir). Note também que esta técnica requer que seu shell de login seja bash (o padrão no Mac OS X e na maioria das distribuições Linux). Observe também que, se você quiser que seus programas instalados em ~/bin sejam usados ​​em preferência aos executáveis ​​do sistema, você deve reordenar a declaração de exportação da seguinte forma:

export PATH=~/bin:$PATH

Use um makefile . Mesmo para projetos muito pequenos (= um arquivo), o esforço provavelmente vale a pena porque você pode ter vários conjuntos de configurações de compilador para testar as coisas. A depuração e a implantação funcionam muito mais facilmente dessa maneira.

Leia o manual do make , parece bastante longo à primeira vista, mas a maioria das seções você pode simplesmente folhear. Tudo isso me levou algumas horas e me fez muito mais produtivo.


Vá para dentro do seu diretório raiz (deve ser ~ ) e olhe para um arquivo chamado .bash_profile . Cole este código em uma nova linha:

function run() {
    eval make $1
    eval ./$1
}

Reinicie todos os terminais que você tenha aberto. Agora, execute qualquer programa c++ prefixando-o com run :

run hello-world






terminal