Primeiro, depois de compilar, você está executando ./hello
, mas não existe esse arquivo chamado hello
. Tente ls
para verificar. Você tem arquivos como hello.c
e hello.o
provavelmente.
Além disso, você está compilando com -c
flag que significa que os arquivos de origem são compilados, mas não vinculam. Consulte man gcc para saber mais. Por isso, mesmo que você tente executar ./hello.o
, será exibido outro erro
bash: ./hello.o: Permission denied
Para que o executável adequado (com link) compile sem -c
flag, como
cc -pedantic -Os hello.c -o hello.o -std=c99
Próxima corrida no terminal,
./hello.o
Agora, na saída, você terá, Hello, World!