Como eu posso compilar um programa em C que eu editei no Vi ou no Vim?

1

Estou tentando compilar e executar um projeto c do vim e vi

#include<stdio.h>

int main(void)
{
 printf("Hello! This is a test prgoram.\n");
 return 0;
}

e eu recebo essa saída

madona@madona-Java ~ $ vi demo.c

[No write since last change]
make: *** No targets specified and no makefile found.  Stop.

Press ENTER or type command to continue
[No write since last change]
gcc: error: demo.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.

shell returned 4

depois de usar este :!gcc demo.c . O que estou fazendo de errado?

Eu também tive esse problema quando tentei executar:

gcc -o demo demo.c
gcc: error: demo.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
    
por Madonah Syombua 09.08.2015 / 23:21

1 resposta

11

Só porque você correu

vi demo.c

não significa que o arquivo demo.c foi criado. Não é criado até que você escreva o buffer no disco pela primeira vez.

Basta escrever o buffer no disco antes de compilar:

:w

Isso é confirmado pela mensagem [No write since last change] que você vê. Esta mensagem significa que o buffer foi alterado (em que você criou o buffer chamado demo.c ), mas não foi gravado no disco após modificações.

    
por 09.08.2015 / 23:33

Tags