我想在 ubuntu 14.04 上以 sublime text 3 编译和运行 C 程序。目前正在使用 gcc 编译程序,使用 sublime text 3 执行命令(见下面的代码),但我想知道是否有可能让程序执行输出也出现在 sublime text 控制台上。
这是我目前必须用 sublime text 3 编译 C 程序的内容
c_compile.sublime-build
{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}"],
"selector" : "source.c",
"shell":false,
"working_dir" : "$file_path"
}
我试过&& ./${file_base_name}
这样添加:
{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}","&&","./${file_base_name}"],
"selector" : "source.c",
"shell":false,
"working_dir" : "$file_path"
}
但它给了我这个错误:
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]
这是我正在使用的简单 C 程序:
Ex1-6.c
#include <stdio.h>
main(){
printf("Hello world");
}
我在网上搜索了一个解决方案,但建议的答案要么只允许编译(这部分已经为我工作),要么不起作用。知道如何修复此代码以便在 sublime text 3 中编译和运行(如果可能)。谢谢
按照 user2357112 的建议编辑 #1:
更改shell
为后true
:
{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}","&&","./${file_base_name}"],
"selector" : "source.c",
"shell":true,
"working_dir" : "$file_path"
}
这就是我得到的:
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]
按照 Eugene K 的建议编辑#2:
我尝试更改 cmd 以仅运行该程序:
{
"cmd" : ["./${file_base_name}"],
"selector" : "source.c",
"shell":false,
"working_dir" : "$file_path"
}
它成功运行并使用一些代码在控制台上打印输出:
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]
到目前为止,cmd 可以编译或运行,但不能同时进行,希望可以做一些事情来使其通过单个命令编译和运行。