Como executo o arquivo .c na linha de comando [duplicado]

4

Estou começando a trabalhar com microcontroladores e programá-los usando a linguagem C.

Toda a minha experiência de programação é com a linguagem Python.

Sei que, se quiser testar um script que escrevi em python, posso simplesmente iniciar o terminal e digitar "python" com o caminho do arquivo que quero executar.

Eu tentei uma pesquisa na web, mas a maioria não pareceu entender o que eu estava perguntando.

Como faço para executar c do terminal?

    
por Iam Pyre 23.04.2018 / 00:53

4 respostas

26

C não é uma linguagem interpretada como Python ou Perl. Você não pode simplesmente digitar o código C e depois dizer ao shell para executar o arquivo. Você precisa compilar o arquivo C com um compilador C como gcc e depois executar o arquivo binário que ele gera.

Por exemplo, a execução de gcc file.c gerará um arquivo binário com o nome a.out . Você pode então dizer ao shell para executar o arquivo binário especificando o caminho completo dos arquivos ./a.out .

Editar:
Como alguns comentários e outras respostas afirmaram, existem alguns intérpretes de C que existem. No entanto, eu diria que os compiladores C são mais populares.

    
por 23.04.2018 / 01:11
9

Se você tiver um único foo.c , veja se make pode compilá-lo para você:

make foo

Nenhum makefiles ou qualquer coisa necessária.

    
por 23.04.2018 / 08:43
7

tcc -run file.c às vezes executará um arquivo .c. Se o arquivo .c precisar de bibliotecas adicionais, tcc -llib1 -llib2 ... -run file.c será bem-sucedido. Às vezes simplesmente não funciona. tcc não é gcc.

Por acaso, você pode colocar #!/usr/bin/tcc -run no topo de um arquivo .c, chmod +x do arquivo e executá-lo como qualquer outro script. Quando o arquivo .c funciona no tcc, ele se comporta bem.

Arquivos .c simples de alguém novo no C quase sempre funcionam.

    
por 23.04.2018 / 04:58
3

I am beginning to work with micro controllers and programming them using C language.

Na prática, essa é uma consideração importante. Eu estou supondo que o seu microcontrolador é algo como um Arduino (ou talvez um Raspberry Pi).

Em geral, você precisa de algum compilador cruzado. Você vai então fazer uma compilação cruzada, no seu sistema desktop (por exemplo, algum Linux, que é muito amigável ao desenvolvedor; mas você pode encontrar cross-compilers hospedados no Windows ou MacOSX, para Arduinos), seu código-fonte em um executável para seu microcontrolador e depois transmitir o executável binário ao seu microcontrolador.

C é uma linguagem de programação difícil.

Em muitos casos, você pode compilar diretamente seu código na sua área de trabalho (não se esqueça de ativar todos os avisos e informações de depuração, por exemplo, gcc -Wall -Wextra -g com GCC ), teste a maioria em sua área de trabalho e depois adapte-a e instale-a para o seu Arduino. Depurando em seu laptop ou desktop algum código é muito mais fácil do que depurar no seu Arduino.

Mais tarde, você fará a compilação cruzada do mesmo código fonte para o seu microcontrolador.

    
por 23.04.2018 / 10:48