Estou começando a trabalhar com micro controladores e programando-os 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 desejo executar.
Eu tentei uma pesquisa na web, mas a maioria não parecia entender o que eu estava perguntando.
Como faço para executar c do terminal?
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 e,
gcc
em seguida, executar o arquivo binário que ele gera.Por exemplo, a execução
gcc file.c
produzirá um arquivo binário com o nomea.out
. Você pode então dizer ao shell para executar o arquivo binário especificando o caminho completo dos arquivos./a.out
.Edit:
Como alguns comentários e outras respostas afirmaram, existem alguns interpretadores C. No entanto, eu diria que os compiladores C são mais populares.
Se você tiver um único
foo.c
, veja semake
pode compilá-lo para você:Sem makefiles ou qualquer coisa necessária.
tcc -run file.c
às vezes executará um arquivo .c. Se o arquivo .c precisar de bibliotecas adicionais,tcc -llib1 -llib2 ... -run file.c
terá sucesso. Às vezes simplesmente não funciona. tcc não é gcc.Aliás, você pode colocar
#!/usr/bin/tcc -run
no topo de um arquivo .c,chmod +x
o arquivo, e executá-lo como qualquer outro script. Quando o arquivo .c funciona em tcc, ele se comporta muito bem.Arquivos .c simples de alguém novo em C quase sempre funcionarão.
Na prática, essa é uma consideração importante. Suponho que seu microcontrolador seja algo como um Arduino (ou talvez um Raspberry Pi).
Em geral, você precisa de algum compilador cruzado . Você então fará a compilação cruzada, em seu sistema de desktop (por exemplo, algum Linux, que é muito amigável ao desenvolvedor; mas você pode encontrar compiladores cruzados hospedados no Windows ou MacOSX, para Arduinos), seu código-fonte em um executável direcionado para seu microcontrolador e depois transmitir o executável binário para o seu microcontrolador.
C é uma linguagem de programação difícil.
Em muitos casos, você pode compilar diretamente seu código em sua área de trabalho (não se esqueça de habilitar todos os avisos e informações de depuração, por exemplo,
gcc -Wall -Wextra -g
com GCC ), testar a maior parte em sua área de trabalho e depois adaptá-lo e portá-lo para seu Arduino. Depurar algum código em seu laptop ou desktop é muito mais fácil do que depurar em seu Arduino.Posteriormente, você fará a compilação cruzada do mesmo código-fonte para seu microcontrolador.