sublime text 2 + Dev-C++/MinGW 组合配置更方便快捷的 C/C++ 编译环境(原创)
首先看一下配置后的效果:
1.直接在底部文本框中显示运行结果(不需要从键盘输入的时候使用):

2.在cmd中运行结果(需要从键盘输入的时候使用):

快捷键说明:
运行:
在底部文本栏显示结果:Ctrl + ,
在cmd窗口中显示结果:Ctrl + .
C:
编译:Ctrl + Shift + B
编译并运行(在底部文本栏显示结果):Ctrl + Shift + ,
编译并运行(在cmd窗口中显示结果):Ctrl + Shift + .
C++:
编译:Ctrl + B
编译并运行(在底部文本栏显示结果):Ctrl + Alt + ,
编译并运行(在cmd窗口中显示结果):Ctrl + Alt + .
好吧,接下来让我们开始配置吧!
1)安装软件,下载地址见:http://www.cnblogs.com/dawn-l/p/5173426.html
2)安装好 ST 和 Dev-C++(或 C-Free 或 MinGW(不推荐,原因见上文下载地址页面))后,需要我们来配置 环境变量,以 win10 为例(其它 windows 系统可自行百度),开始图标点击鼠标右键 --> 系统 --> 高级系统设置 --> 环境变量,视线移到系统变量,找到Path,编辑,新建,添加以下路径(以我的为例,具体看个人安装的位置):D:\Program Files (x86)\Dev-Cpp\MinGW64\bin\
win10

其它 windows(注意以英文分号隔开)

然后确定返回到环境变量窗口,在 系统变量 中添加 新建 下面两项,
1.变量名:C_INCLUDEDE_PATH 变量值:D:\Program Files (x86)\Dev-Cpp\MinGW64\include\
2.变量名:LIBRARY_PATH 变量值:D:\Program Files (x86)\Dev-Cpp\MinGW64\lib\
见图:


环境变量配置完毕。
检验:按 win+R 输入 cmd,然后输入 gcc -v, 有结果显示即设置成功,不成功可以重新打开 cmd 再试,一般不用重启电脑,实在不行可以尝试重启电脑再试,再次声明,请确保以上路径是你自己的安装路径,保证在资源管理器中输入这个路径能打开目录!
上图:检验结果

3)接下来转到 Sublime Text 开始配置我们的编辑器。这步很简单,只要复制粘贴和可以了,但是当初我配置的时候折腾了好久呢!一下配置文件纯属原创,网上其它版本(大多数吧)写得都很简单,只能实现 Ctrl+B“编译”,Ctrl+Shift+B“运行”有的是“编译后运行”,而 gcc(这里使用的编译器)对 C 和 C++ 的编译是区分开的,有强迫症的我又不喜欢把 C 源文件当作 C++ 来编译,而且这样做本来也不太好,按照网上的配置文件我就需要两个配置文件,需要的时候还得去菜单里切换,而且“运行”和“编译后运行”还不能同时实现,相当麻烦,于是折腾了好久,解决了介个问题,好吧,接下来让我们开始复制粘贴的工作吧。
1.编译配置文件: Menu --> Tools --> Build System --> New Build System...打开一个文件后复制以下代码,然后保存为 MinGW64-11.sublime-build
注:如果未安装ConverToUTF8插件,请按照注释中的说明修改(第6行)(关于中文和ConverToUTF8的问题见:http://www.cnblogs.com/dawn-l/p/5173348.html)
MinGW64-11.sublime-build :
{
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}.exe", "-Wall", "-std=c++11"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"encoding": "GBK", //If you haven`t install ConvertToUTF8, please install it or delete/comment this line or use "encoding": "utf-8",
"shell": true,
"variants":
[
{
//Shortcut: Ctrl+Shift+B
"name": "Run", //Build C
"cmd": ["gcc", "${file}", "-o", "${file_path}/${file_base_name}.exe", "-Wall", "-std=c11"]
},
{
//Shortcut: Ctrl+,
"name": "RunLocal", //Run in bottom text box
"cmd": ["${file_path}/${file_base_name}"]
},
{
//Shortcut: Ctrl+.
"name": "RunCmd", //Run in cmd window
"cmd": [ "start", "CMD", "/C", "${file_path}/${file_base_name} & pause"]
},
{
////Shortcut: Ctrl+Shift+,
"name": "BuildCAndRunLocal", //Build C & run in bottom text box
"cmd": ["CMD", "/C", "gcc ${file} -o ${file_path}/${file_base_name}.exe -Wall -std=c11 & ${file_path}/${file_base_name}"]
},
{
//Shortcut: Ctrl+Shift+.
"name": "BuildCAndRunCmd", //Build C & run in cmd window
"cmd": ["start", "CMD", "/C", "@echo off & gcc ${file} -o ${file_path}/${file_base_name}.exe -Wall -std=c11 & @echo on & ${file_path}/${file_base_name} & pause"]
},
{
//Shortcut: Ctrl+Alt+,
"name": "BuildCppAndRunLocal", //Build C++ & run in bottom text box
"cmd": ["CMD", "/C", "g++ ${file} -o ${file_path}/${file_base_name}.exe -Wall -std=c++11 & ${file_path}/${file_base_name}"]
},
{
//Shortcut: Ctrl+Alt+.
"name": "BuildCppAndRunCmd", //Build C++ & run in cmd window
"cmd": ["start", "CMD", "/C", "@echo off & g++ ${file} -o ${file_path}/${file_base_name}.exe -Wall -std=c++11 & @echo on & ${file_path}/${file_base_name} & pause"]
}
]
}
简单的说明一下:gcc 是编译 C 源文件的命令, g++ 是编译 C++ 源文件的命令, -Wall 表示要显示所有可能的 warning,个人觉得这很有必要,程序猿一个很好的习惯就是把 warning 当作 error 来处理,这样才能使自己的代码更安全,-std=c++11 和 -std=c11 表示用C++11 和 C11 标准进行编译,我还有个 MinGW64.sublime-build 配置文件是不含这两个指令的,MinGW 默认并不是用 C/C++11 标准编译的,有时候标准不同会有很大不同,所以建议两个编译配置文件都加上。
2.快捷键配置文件:Menu --> Preferences --> Key Bindings - User,复制粘贴,文件名为Default (Windows).sublime-keymap
Default (Windows).sublime-keymap :
[
{ "keys": ["ctrl+0"], "command": "build", "args": {"variant": "BuildC" } },
{ "keys": ["ctrl+,"], "command": "build", "args": {"variant": "RunLocal" } },
{ "keys": ["ctrl+."], "command": "build", "args": {"variant": "RunCmd" } },
{ "keys": ["ctrl+shift+,"], "command": "build", "args": {"variant": "BuildCAndRunLocal" } },
{ "keys": ["ctrl+shift+."], "command": "build", "args": {"variant": "BuildCAndRunCmd" } },
{ "keys": ["ctrl+alt+,"], "command": "build", "args": {"variant": "BuildCppAndRunLocal" } },
{ "keys": ["ctrl+alt+."], "command": "build", "args": {"variant": "BuildCppAndRunCmd" } }
]
注 :如果快捷键不适合个人,可自行更改,但是要不与默认快捷键重复真的很难,查看默认快捷键打开 Menu --> Preferences --> Key Bindings - Default 即可,要查看自己想使用的快捷键是否和默认的重复,可在这个文件里按 Ctrl+F 输入内容即可搜索,Ctrl+F3 查找下一个,Shift+F3 上一个。
注:目前sublime仍有部分问题,但用来平时学习的时候做点小练习是非常合适的,比大部分IDE都方便很多,主要问题有:
1)保存路径中不能含有空格,只要保证文件都保存在常用保存代码的地方然后用_代替空格就行啦,没多大麻烦,对日常练习影响也不大。
2)然后就是不能方便地编译链接多个源文件,只能通过 make 来完成,至于 make 是什么这里就不作讲解了,linux/unix 下做开发的应该比较熟悉, windows 下大多 make 的工作都由 IDE 替我们完成了,所以 windows 程序猿可能对 make 会相对陌生。所以目前 ST 只能方便地编译单个文件,当然如果你懂且愿意用 make,就另当别论了。
sublime text 2 + Dev-C++/MinGW 组合配置更方便快捷的 C/C++ 编译环境(原创)的更多相关文章
- sublime text 2 + Dev-C++/MinGW 组合配置更方便快捷的 C/C++ 编译环境
首先看一下配置后的效果: 1.直接在底部文本框中显示运行结果(不需要从键盘输入的时候使用): 2.在cmd中运行结果(需要从键盘输入的时候使用): 快捷键说明: 运行: 在底部文本栏显示结果:Ctrl ...
- [mark] 使用Sublime Text 2时如何将Tab配置为4个空格
在Mac OS X系统下,Sublime Text是一款比较赞的编辑器. 作为空格党的自觉,今天mark一下使用Sublime Text 2时如何将Tab配置为4个空格: 方法来自以下两个链接: ht ...
- Sublime Text 3下载-汉化-插件配置
Sublime Text 3下载 不用说是上官方下载地址:http://www.sublimetext.com/3 Sublime Text 3 免费使用方法 Sublime Text 2的时候还有一 ...
- 配置 Windows 下的 nodejs C++ 模块编译环境 安装 node-gyp
配置 Windows 下的 nodejs C++ 模块编译环境 根据 node-gyp 指示的 Windows 编译环境说明, 简单一句话就是 "Python + VC++ 编译环境&quo ...
- Sublime Text 3 python和Package Control配置方法
(如果下面的方法试了Packages control功能还是不能用参考这个方法: 1.直接把C:\Sublime Text 3x64\Data\Packages\ 目录下原有的Packages c ...
- Sublime Text 3 插件、主题、配置
换电脑,Sublime Text 3 重新配置一遍,做个记录 1. 下载:http://www.sublimetext.com/3 2. 插件管理器 Package Control (Ctrl + ` ...
- sublime text 前端开发插件安装和配置
前端开发sublimeconfig mac配置 此文件目录中文件主要是关于sublime的插件配置,快捷键配置,主题和字体配置. 插件列表 所有插件都可以使用Package Control安装,具体的 ...
- Sublime Text 2 中文 GBK 规范的配置 暨 解决中文乱码问题 简述
首先通过 Package Control 安装 ConverToUTF8 插件,但是每次新建一个文本后并不是默认使用 GBK,要设置默认使用 GBK,请继续看,然后我们 Ctrl + O 打开文件,在 ...
- Sublime Text主题下载、安装与配置
从下面地址下载主题包,以下载第一个为例,解压缩并重命名为Theme – Flatland 备注:下载好的文件中 .sublime-theme后缀的表示界面主题(theme),.tmTheme表示颜色 ...
随机推荐
- wp8.1 Study1: 页面导航&页面间值传递
摘要:wp8.1与wp8中很多API是不一样了,wp8.1把以前wp7.x时的api去掉了,更多与win8.1的API相似.比如以下的页面导航和页面之间的值传递 1.页面导航 利用Frame.Navi ...
- hihocoder 1236(2015北京网络赛 J题) 分块bitset乱搞题
题目大意: 每个人有五门课成绩,初始给定一部分学生的成绩,然后每次询问给出一个学生的成绩,希望知道在给定的一堆学生的成绩比这个学生每门都低或者相等的人数 因为强行要求在线查询,所以题目要求,每次当前给 ...
- 分布式一致性原理—BASE
定义 BASE是BasicallyAvailable(基本可用).Soft state(软状态)和Eventually consistent(最终一致性)三个短语的简写,是由来自eBay的架构师Dan ...
- RPI学习--webcam_用fswebcam抓取图片
若 ls /dev 下没有video0,可以参考http://www.cnblogs.com/skynext/p/3644873.html,更新firmware 1,安装fswebcam: sudo ...
- [转] Android资源管理框架(Asset Manager)简要介绍和学习计划
转自:http://blog.csdn.net/luoshengyang/article/details/8738877 Android应用程序主要由两部分内容组成:代码和资源.资源主要就是指那些与U ...
- 《java作业》
/* 2.编写一个类,该类有一个方法public int f(int a,int b), 该方法返回a和b的最大公约数.然后再编写一个该类的子类, 要求子类重写方法f,而且重写的方法将返回a和b的最小 ...
- java.util 集合框架集合
java的集合框架为程序提供了一种处理对象组的标准方式.设计了一系列标准泛型接口: ⑴Collection ()接口,扩展了Iterable接口,位于集合层次结构的顶部,因此所有的集合都实现Colle ...
- jQuery之load、unload、onunload和onbeforeunload
1.load:jQuery load() 方法是简单但强大的 AJAX 方法.load() 方法从服务器加载数据,并把返回的数据放入被选元素中. 语法:$(selector).load(URL,dat ...
- return, exit, _exit的区别
return是返回的最常用的方式 _exit属于POSIX定义的系统调用 exit是GLIBC封装之后的函数 1 _exit和exit都会导致整个进程退出,清理进程所占用的资源,但是glibc封装ex ...
- Interview----用最快的方法计算 Fibonacci 数
输入 n, 用最快的方法求该 Fibocacci 数列的第 n 项. 方法1: 递归,非常慢 方法2: 迭代,因此计算 f[1] , f[2], f[3] ,,,, 复杂度 O(N) 方法3: 采用以 ...