Como compilar e executar C no texto sublime 3?
Eu gostaria de compilar e executar o programa C no sublime texto 3 no ubuntu 14.04. Atualmente, o programa está sendo compilado com o gcc usando o texto sublime 3 executando um comando (veja o código abaixo), mas eu queria saber se é possível que a saída da execução do programa apareça também no console de texto sublime.
Aqui está o que eu tenho atualmente para compilar o programa C com texto sublime 3
c_compile.sublime-build
{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}"],
"selector" : "source.c",
"shell":false,
"working_dir" : "$file_path"
}
Eu tentei adicionar&& ./${file_base_name}
como isso:
{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}","&&","./${file_base_name}"],
"selector" : "source.c",
"shell":false,
"working_dir" : "$file_path"
}
Mas está me dando este erro:
gcc: error: &&: No such file or directory
[Finished in 0.0s with exit code 1]
[cmd: ['gcc', 'Ex1-6.c', '-o', 'Ex1-6', '&&', './Ex1-6']]
[dir: /home/admin/Desktop/C/book/chap1]
[path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games]
Aqui está o meu programa C simples com o qual estou trabalhando:
Ex1-6.c
#include <stdio.h>
main(){
printf("Hello world");
}
Pesquisei on-line por uma solução, mas as respostas sugeridas permitem compilar apenas (esta peça já está funcionando para mim) ou não funciona. Alguma idéia de como corrigir esse código para compilar e executar no texto sublime 3 (se possível). Obrigado
Edite # 1 como sugerido pelo usuário2357112:
Depois de mudarshell
paratrue
:
{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}","&&","./${file_base_name}"],
"selector" : "source.c",
"shell":true,
"working_dir" : "$file_path"
}
É isso que eu recebo:
gcc: fatal error: no input files
compilation terminated.
[Finished in 0.0s with exit code 4]
[cmd: ['gcc', 'Ex1-6.c', '-o', 'Ex1-6', '&&', './Ex1-6']]
[dir: /home/admin/Desktop/C/book/chap1]
[path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games]
Edite # 2 como sugerido por Eugene K:
Tentei alterar o cmd para executar apenas o programa:
{
"cmd" : ["./${file_base_name}"],
"selector" : "source.c",
"shell":false,
"working_dir" : "$file_path"
}
É executado com sucesso e imprime a saída no console com algum código:
Hello world
[Finished in 0.0s with exit code 12]
[cmd: ['./Ex1-6']]
[dir: /home/amir/Desktop/C/book/chap1]
[path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games]
Até agora, o cmd compila ou executa, mas não faz as duas coisas juntos, espero que algo possa ser feito para compilá-lo e executá-lo com um único comando.