我终于设法在Sublime Text 2中为C
配置编译器。在int main()
函数中,printf()
没有问题,但编译器使用时出现问题scanf()
。它不允许键盘输入和跳转指令。
有C:
的构建代码{
"cmd": ["gcc", "-Wall", "-ansi", "-pedantic-errors", "$file_name", "-o", "${file_base_name}.exe", "&&", "${file_base_name}.exe"],
"selector": "source.c",
"shell": true,
"working_dir": "$file_path"
}
有C代码:
#include <stdio.h>
int main() {
int num, cube;
printf("Enter a number for know the cube: ");
scanf("%d", &num);
cube = num * num * num;
printf("\nThe cube %d is %d.\n\n", num, cube);
return 0;
}
下面的截图:
答案 0 :(得分:1)
您无法通过Sublime Text控制台向程序发送输入。你可以看到python运行的构建系统或命令的输出。 构建系统打算运行诸如不需要与用户交互的编译器之类的程序。
我建议删除执行.exe
的调用,即删除"&&", "${file_base_name}.exe"
并在Windows控制台中运行程序。它会起作用。
答案 1 :(得分:0)
虽然你无法修复sublime,但你可以调整你的C.sublime-build文件,让它打开一个终端窗口并运行程序。
这是我的调整,启动一个新的终端窗口,以便您可以正确使用sublime作为完整的IDE进行简单的C开发。
{
"cmd": ["gcc", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c",
"variants":
[
{
"name": "Run",
"cmd": ["bash", "-c", "gcc '${file}' -o '${file_path}/${file_base_name}' && open -a Terminal '${file_path}/${file_base_name}'"]
}
]
}
我确信有更好的方法来启动终端窗口,但它确实有效。如果有人有改进建议,请随时评论,我会调整。
答案 2 :(得分:0)
我知道这个问题是前一段时间提出的。但是我非常有同样的问题,所以在这里我的帮助=)
{
"shell_cmd" : "clang $file_name -o ${file_base_name}",
"working_dir" : "$file_path",
"variants":
[
{
"name": "Run",
"shell_cmd": "clang $file_name -o ${file_base_name} && open -a Terminal.app ${file_path}/${file_base_name}"
}
]
}
您必须创建一个新的构建系统(“工具”>“构建系统”>“新构建系统”),它将打开终端并编译并运行代码