写此文解决两个问题:

  1.在Sublime Text中实现编译运行含有外部输入的C程序(如含有scanf的程序);

  2.在程序运行完毕后不退出cmd,能继续用gdb调试程序。

一、MinGW

下载地址:https://sourceforge.net/projects/mingw/,点击”download“后等待几秒钟便会弹出下载框。

相关介绍:http://blog.csdn.net/k1988/article/details/4375382(没找到原作者地址,引用了一篇转载的)

安装与配置参考:http://jingyan.baidu.com/article/455a99509c76d8a1662778f6.html

二、配置Sublime Text

1) 按下图添加新的编译系统

2) 在弹出的页面中复制以下代码(双击代码区域可全选),"Ctrl+s"保存为C.sublime-build。

部分参数解释:(自己摸索的,不一定准确,供参考)
${file_path}:文件目录路径
${file_base_name}:不包含扩展名部分的文件名(如 test.c 的 file_base_name 为 test )
"selector":"source.c":操作的文件类型为 .c 文件
"encoding":"cp936":支持中文字符集
"cmd","/k":执行完毕后不退出shell (/k 是 cmd 的参数)
"variants":变量,这里定义了"Run"和"RunInCommand"两个变量
Run:用于无外部输入(如scanf)的情况
RunInCommand:用于有外部输入或需要调试的情况,将打开cmd窗口,程序运行完毕后可用命令“gdb xxx.exe”调试程序

{
"cmd": ["gcc", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c",
"encoding":"cp936", "variants":
[
{
"name": "Run",
"cmd": ["cmd", "/c", "gcc", "${file}", "-o", "${file_path}/${file_base_name}", "&&","${file_path}/${file_base_name}.exe"]
},
{
"name": "RunInCommand",
"cmd": ["cmd", "/c", "gcc","-g", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/k", "${file_path}/${file_base_name}"]
}
]
}

3) 按下图创建快捷命令,Key Bindings不一定在"CTags"中,找到打开即可;

4) 在文件中添加如下内容并保存,具体快捷键可自行设置

alt+r:启用Run编译运行程序

alt+g:启用RunInCommand编译运行程序

[
{"keys": ["alt+r"], "command": "build", "args": {"variant": "Run"}},
{"keys": ["alt+g"], "command": "build", "args": {"variant": "RunInCommand"}}
]

5) 完毕。下图是运行效果。测试文件为一个排序算法sort.c

alt+r,结果将在Sublime中显示

alt+g,结果将在cmd窗口中显示,且执行完毕后不退出窗口,后续可用gdb调试程序。

-----------------------------------------------------

* 本文是根据自身经验所作,难免存在不合理之处。

* 以上内容为作者原创,转载请注明出处。
----------------------------------------------------- 

Sublime Text:Windows下配置C 编译环境和GDB调试环境的更多相关文章

  1. [开发工具]_[Sublime Text 2]_[配置C++编译执行环境]

    场景: 1. g++的版本号更新比較快,能够使用最新的C++11特性, 这里sublime text 2是我的轻量级C++开发工具(仅仅有这个),能够使用st2这样的工具来验证一些语法新特性, 也能够 ...

  2. Sublime Text 3 C++ 配置

    Sublime Text 3 C++ 配置 先将MinGW\bin添加至环境变量中,然后打开Sublime Text,菜单Tools->Build System->New Build Sy ...

  3. Sublime Text 2下搭建Python环境常见错误

    Sublime Text 2下搭建Python环境时,最容易出的错误就是Python环境配置错误,导致build(Ctrl+B)后没有任何反应. 关于Python编程环境的配置,网上很容易搜索到.先默 ...

  4. Sublime Text 3下C/C++开发环境搭建

    Sublime Text 3下C/C++开发环境搭建 之前在Linux Mint 17一周使用体验中简单介绍过Sublime Text. 1.Sublime Text 3安装 Ubuntu.Linux ...

  5. windows下配置apache+php环境

    PHP安装 由于windows下php扩展5.6的多余7.0,故以php5.6为开发环境.如果对扩展要求不高,可以使用php7,安装过程类似. 约定: 环境安装目录: D:/phpsetup/ |-- ...

  6. QT + OpenCV + MinGW 在windows下配置开发环境

           由于研究项目需要,最近开始接触C++界面设计,关于“QT + OpenCV + MinGW在windows下配置开发环境”着实让人头疼,单次配置时间相当长,也十分不容易,本人第一次配置成 ...

  7. Win7环境下Sublime Text 3下安装NodeJS插件

    1.首先下载安装Node.JS,配置好环境变量(安装好Node.JS默认是配置好了环境变量的). 2.Sublime Text 3下安装NodeJS插件. 参考的两篇文章:http://www.cnb ...

  8. 在Sublime Text 3中配置Python3的开发环境/Build System

    本文来源:https://www.cnblogs.com/zhangqinwei/p/6886600.html Sublime Text作为一款支持多种编程语言的文本编辑神器,深受广大开发者的喜爱.通 ...

  9. 轻盈潇洒卓然不群,敏捷编辑器Sublime text 4中文配置Python3开发运行代码环境(Win11+M1 mac)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_210 20世纪初,几乎所有的飞机都是并列双翼结构,此时,美国著名飞行大亨霍华德·休斯认为自己的飞机不够快,助手委婉地提醒他,如果速 ...

随机推荐

  1. css 使图片水平垂直居中

    1.利用display:table-cell,具体代码如下: html代码如下: <div class="img_wrap"> <img src="wg ...

  2. 关于js中this关键字的补充

    前面: 前面虽然综合了网络上不少大牛的心得,但感觉还是意犹未尽,为了彻底搞清楚js中this的相关知识,决定再写一篇.个人觉得,在技术上,除非钻到细枝末节,否则很难达至非常高的水平. 补充1: 无法重 ...

  3. 关于C++默认初始化的总结——开个坑

    关于C++初始化总结的博客,其实以前在我的独立博客上写过相关的内容,可惜呀,没有续费,腾讯回收了我的空间, 到现在,关于C++初始化的内容,一直是我的心头病,现在准备开个坑,慢慢的总结进来吧. 1.关 ...

  4. mybatis源码分析:

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #e4af0a } p. ...

  5. [bigdata] kafka基本命令 -- 迁移topic partition到指定的broker

    版本 0.9.2 创建topic bin/kafka-topics.sh --create --topic topic_name --partition 6 --replication-factor ...

  6. 2016福州大学软件工程第五、六次团队作业-Alpha阶段成绩汇总

    1.本次作业成绩统计结果: 本次Alpha阶段团队作业公布如下: 表格说明: PE:贡献百分比 YS:演示评分(满分15分) BK:博客评分(满分15分) SH:事后诸葛亮环节(满分5分) P:个人分 ...

  7. Calendar类

    Calendar类 注意:根据日历规则,如果想要这个月减去5天,那么则为: add(Calendar.Day,-5) 成员方法: public int get(int field):返回给定日历段的值 ...

  8. javascript 数字格式化

    对数字进行格式化输出,是非常有意义的一件事情,例如许多时候,我们希望一个数字能够输出为指定格式的字符串,拿25.9878来说,我们可能会希望它能保留两位小数来说出,即结果为25.99,或者对于0.34 ...

  9. bootstrap学习笔记--bootstrap安装环境

    Bootstrap 安装是非常容易的.此文是本人的学习汇总,便于以后查询学习,同时也希望给大家带来帮助. 下载 Bootstrap 您可以从 http://getbootstrap.com/ 上下载 ...

  10. css3 圆角

    -moz-border-radius: 15px; /* Gecko browsers */ -webkit-border-radius: 15px; /* Webkit browsers */ bo ...