Sublime Text:Windows下配置C 编译环境和GDB调试环境
写此文解决两个问题:
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调试环境的更多相关文章
- [开发工具]_[Sublime Text 2]_[配置C++编译执行环境]
场景: 1. g++的版本号更新比較快,能够使用最新的C++11特性, 这里sublime text 2是我的轻量级C++开发工具(仅仅有这个),能够使用st2这样的工具来验证一些语法新特性, 也能够 ...
- Sublime Text 3 C++ 配置
Sublime Text 3 C++ 配置 先将MinGW\bin添加至环境变量中,然后打开Sublime Text,菜单Tools->Build System->New Build Sy ...
- Sublime Text 2下搭建Python环境常见错误
Sublime Text 2下搭建Python环境时,最容易出的错误就是Python环境配置错误,导致build(Ctrl+B)后没有任何反应. 关于Python编程环境的配置,网上很容易搜索到.先默 ...
- Sublime Text 3下C/C++开发环境搭建
Sublime Text 3下C/C++开发环境搭建 之前在Linux Mint 17一周使用体验中简单介绍过Sublime Text. 1.Sublime Text 3安装 Ubuntu.Linux ...
- windows下配置apache+php环境
PHP安装 由于windows下php扩展5.6的多余7.0,故以php5.6为开发环境.如果对扩展要求不高,可以使用php7,安装过程类似. 约定: 环境安装目录: D:/phpsetup/ |-- ...
- QT + OpenCV + MinGW 在windows下配置开发环境
由于研究项目需要,最近开始接触C++界面设计,关于“QT + OpenCV + MinGW在windows下配置开发环境”着实让人头疼,单次配置时间相当长,也十分不容易,本人第一次配置成 ...
- Win7环境下Sublime Text 3下安装NodeJS插件
1.首先下载安装Node.JS,配置好环境变量(安装好Node.JS默认是配置好了环境变量的). 2.Sublime Text 3下安装NodeJS插件. 参考的两篇文章:http://www.cnb ...
- 在Sublime Text 3中配置Python3的开发环境/Build System
本文来源:https://www.cnblogs.com/zhangqinwei/p/6886600.html Sublime Text作为一款支持多种编程语言的文本编辑神器,深受广大开发者的喜爱.通 ...
- 轻盈潇洒卓然不群,敏捷编辑器Sublime text 4中文配置Python3开发运行代码环境(Win11+M1 mac)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_210 20世纪初,几乎所有的飞机都是并列双翼结构,此时,美国著名飞行大亨霍华德·休斯认为自己的飞机不够快,助手委婉地提醒他,如果速 ...
随机推荐
- css-css权威指南学习笔记8
第十二章 列表与生成内容 1.list-style-type:cjk-ideographic生成一二三四的序号 2.不管是ul还是ol,list-style-type无法识别的值都应用为decimal ...
- vs中使用beyondcompare比较
开启 Visual Studio 的 [工具] /[选项] / [源代码管理] /[Visual Studio Team Foundation],并开启「配置用户工具」 如下图单击「添加」按钮 接着 ...
- UOJ59 WC2013 小Q运动季
题意:给一个模线性方程组,构造解满足尽量多的方程. 直接枚举. 模数两两互质,先排除无解的,然后CRT,然而要高精,上python. 直接高消,有完美解. 2^20暴搜. 分解模数,对每个质数高消,C ...
- IT这一行,如可高速下载国外资源之迅雷设置免费SSH代理下载国外资源
本文转自SUN'S BLOG 原文地址:IT这一行,如可高速下载国外资源之迅雷 我们这些做IT这一行的人,经常,下载一些国外的一些资源,可是让人蛋碎的是,往往这些资源下载都慢的像蜗牛,真的让人无法忍受 ...
- web前端基础知识-(六)web框架
一.web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:ut ...
- 四、基于hadoop的nginx访问日志分析---top 10 request
代码: # cat top_10_request.py #!/usr/bin/env python # coding=utf-8 from mrjob.job import MRJob from mr ...
- textView的提醒文字
如果我们想提交一些备注信息,会想到用textFiled和textView两种控件去实现 1.提醒文字是textFiled的特有属性,但是textFiled显示文本只有一行,不能实现我们输入较多文字的情 ...
- runtime-对成员变量操作应用之归档和返归档
为了实现归档和返归档,我们要让被归档对象的类接受NSCoding协议并且实现协议里的两个方法 - (void)encodeWithCoder:(NSCoder *)aCoder; - (nullabl ...
- 开发thinkphp的第一步就是给Application目录(不包括其下的文件)777权限, 关闭selinux
开发thinkphp的时候, 总是会出现各种个样 的奇怪的毛病, 比如: 说什么Application目录不可写, 比如: 说什么 _STORAGE_WRITE_ERROR, 不能生成 Runtime ...
- FSM(状态机)、HFSM(分层状态机)、BT(行为树)的区别
游戏人工智能AI中最常听见的就是这三个词拉: FSM 这个不用说拉,百度一大堆解释, 简单将就是将游戏AI行为分为一个一个的状态,状态与状态之间的过渡通过事件的触发来形成. 比如士兵的行为有“巡逻”, ...