Como executo meu programa em C?

1

Eu sou um novato na linguagem de programação C. Estou seguindo um curso agora, mas tenho um pequeno problema que é executar o arquivo para teste.

Eu abri o gedit e escrevi essas linhas de código:

    int main(int argc, char *argv[])
{
    puts("Hello world.");

    return 0;
}

e quando tento executá-lo depois de dar as permissões corretas com este comando

chmod +x file.c

e executado por este comando

./file.c

essas linhas aparecem no terminal

./file.c: line 1: syntax error near unexpected token '('
./file.c: line 1: 'int main (int argc, char *argv[])'

Onde está o problema ??

    
por hiicham07 04.11.2015 / 00:24

5 respostas

8

Você precisa compilar seu programa antes de poder executá-lo. Para fazer isso, você precisará de um compilador C, como gcc . Você pode instalar isso com:

sudo apt-get install gcc

Em seguida, compile seu programa, criando um executável chamado file :

gcc -Wall -o file file.c

Qual você deve ser capaz de executar:

./file
    
por Jeremy Kerr 04.11.2015 / 00:31
3

O TCC de Fabrice Bellard parece ainda estar nos repositórios. Ele pode ser executado em uma espécie de modo de intérprete, o que possibilita o seguinte:

Você pode fazer um executável simples de arquivo C como o OP tentou fazer adicionando a linha

#!/usr/bin/tcc -run

no topo do arquivo.

Ele também aceita entrada de STDIN adicionando uma opção vazia (apenas o sinal de menos - ) no final.

$ /usr/bin/tcc -run - <<EOF
> #include <stdio.h>
> int main()
> {
>    printf("Hello World\n");
>    return 0;
> }
> EOF
Hello World

ou com echo

echo '#include <stdio.h> int main(){printf("Hello World\n");return 0;}' | /usr/bin/tcc -run -

ou apenas execute /usr/bin/tcc -run - digite seu código e comece a execução com CTRL + D

Parece inútil e bobo, mas o último método é o mais rápido (para mim, YMMV etc.) para verificar uma função em uma grande biblioteca, procurar o valor exato de uma constante etc. E é pequeno (180k) que torna um bom ajuste para por exemplo o Raspberry-Pi.

Principal desvantagem: desenvolvimento interrompido (a última versão é de 2013).

    
por deamentiaemundi 04.11.2015 / 03:28
1

AFAIK, você tem que compilar o código C antes de executá-lo da seguinte forma:

gcc file.c
    
por grepmaster 04.11.2015 / 00:29
0

A linguagem C, diferente do python, não é uma linguagem de interpretação. O código-fonte C ou simplesmente o código escrito precisa ser compilado primeiro para torná-lo executável, ou seja, de forma legível por máquina. Você tem que primeiro compilá-lo usando o comando

% bl0ck_qu0te%

cc - compilador do GCC

-Wall - Verifica se há erros

filename.c - seu arquivo no qual o código C é salvo com extensão .C.

Você receberá um arquivo executável chamado "a.out" no diretório de trabalho do seu código-fonte.

    
por shivamg11000 20.03.2017 / 08:27
0
% bl0ck_qu0te%

Para responder à sua pergunta:

% bl0ck_qu0te%

é suficiente dizer que você não pode executar o arquivo executável ainda porque você ainda não o produziu. Seu arquivo, file.c , é o "código fonte" escrito no idioma "C". Este código fonte não é algo executável porque a linguagem C foi projetada para ser gravável de uma maneira fácil de entender (pelo menos 'fácil' pelos padrões humanos ... mesmo assim, não é fácil no começo - mas é mais fácil) . O código (fonte) que você escreve é então convertido em um formato que um computador pode ler facilmente. Esse processo é chamado de 'compilação'. A compilação cria um arquivo que é executável por um computador. É esse passo que você não fez. Se você digitar

which gcc

e você recebe algo como /usr/bin/gcc , então você já instalou o gcc no seu sistema. Se você não receber nada - então você não. Se você não tem o gcc, então você pode obter o gcc (desde que você tenha os privilégios corretos) fazendo:

sudo apt install gcc

(NB: apt pode não funcionar se você estiver em uma versão mais antiga da distribuição linux - você pode substituí-lo por apt-get )

Se você fizer tiver gcc , vá em frente e digite:

gcc file.c

e você encontrará um arquivo executável chamado a.out apareceu magicamente em seu diretório. Este é o arquivo que você está procurando. Execute-o com

./a.out

As outras respostas têm outras coisas, como -o e -Wall , que você pode aprender com o manual de gcc , que pode ser acessado digitando:

man gcc

Isso deve mantê-lo por alguns anos ... bem-vindo à codificação - Divirta-se!

    
por neiltheory 18.10.2018 / 13:25