Atom打造轻量化C/C++ IDE
写在前面
近期沉迷Atom的颜值无法自拔,在github的光环下,Atom凭借自身良好的素质,获得了大量开发者的青睐。随之而来的就是丰富的插件库,在插件帮助下,它对各种编程语言都有相当好的支持。对与一个(伪)ACM选手来说,Atom没有自带的C/C++编译功能可以说是相当大的遗憾了。但是最后我还是选择向颜值低头,没有自带编译环境,那就创造编译环境。
如果安装过程中遇到下载缓慢之类的问题的话,你的网络可能魔法和更多的科学。
关于轻量化,我的理解是相对于vs这类大型IDE来说的,可以快速启动并开始使用的。在插件较多或者需要操作大文件的情况下,抑或机器配置不足等情况下,Atom表现也只能说是中规中矩。
首发并更新于我的知乎专栏进击的菜鸟。
Step1:安装Atom
直接进官网,Atom官网,实时更新最新版,根据自己的电脑平台下载最新版本安装包。

虽然写的代码都是英文的…但还是中文界面看起来舒服点,所以先替换一个中文界面:
Packages -
Setting view -
Install Packages/Themes
然后搜索simplified-chinese-menu
install
结束以后重启一下Atom进入中文界面
Step2:安装编译器
在Atom插件库是没有编译环境的,所以在正式开始之前需要安装完整的编译环境,这个我选择MinGW,它是一个精简的编译器,使用安装都很方便,在MinGW官网可以直接下载最新版。官网有时候可能访问不顺畅,所以这里也留个百度网盘的地址。
链接: https://pan.baidu.com/s/1I3qbgjQhIiNPSxMyfzIvpw
提取码: idc7

因为路径依赖问题,所以MinGW安装的目录里不能有空格,否则会无法正常运行。选择路径之后直接Install,进入安装流程。连续两波Continue之后就正式进入安装流程。

选中mingw32-gcc-g++-bin,右键点击进入Mark for Instiallation,把C++的编译器勾选起来,随后Installation - Apply Changes - Apply,软件就开始自动下载更新内容。

安装完成后,打开桌面此电脑 - 右键属性 - 左侧的高级系统设置 - 高级 - 环境变量

随后双击系统变量中的Path,新建一条并根据自己的安装路径来设定,类似于..\MinGW\bin。完成后关掉所有窗口并重启电脑(程序员玄学——重启大法保平安)。

命令行输入
gcc -v
检验编译器是否成功安装,如下如所示则安装成功:

安装插件
这样继续安装新的插件:
扩展 -
设置界面-
安装 插件/主题 -
安装
搜索并安装gpp-compiler,安装以后再Atom编辑部分右键菜单就有编译运行的菜单了。
This Atom package allows you to compile and run C++ and C within the editor. To compile C or C++, press F5 or right click the file in tree view and click Compile and Run. To compile C or C++ and attach the GNU Debugger, press F6 or right click the file in tree view and click Compile and Debug.
如果变异成功的话,会直接弹出运行的程序,如果是编译失败的话,会在编译的文件的目录下生成一个错误日志txt文件,在修改编译通过后会自动删除,在Atom右上角也有红色弹窗提示错误信息。
可以参见官方文档了解更多具体内容:gpp-compileratom.io

Atom打造轻量化C/C++ IDE的更多相关文章
- 用Atom打造简单的java编译器以及对于可能出现的问题解答
如何用Atom打造简单的javaIDE 自己一直比较喜欢Atom编辑器,前段时间给Atom配置好了C/C++的运行环境,自己心里还是感觉挺好的,最近在学习java ,偶然的机会让我看到了一篇文章,就是 ...
- 新上线!3D单模型轻量化硬核升级,G级数据轻松拿捏!
"3D模型体量过大.面数过多.传输展示困难",用户面对这样的3D数据,一定不由得皱起眉头.更便捷.快速处理三维数据,是每个3D用户对高效工作的向往. 在老子云最新上线的单模型轻量化 ...
- 轻量化ViewControllers,读文章做的总结
推荐一个网站 http://objccn.io/ 我这两天才开始看 获益匪浅 看了第一篇文章 <更轻量的View Controllers>感觉写的不错 感觉作者 原文地址 http://o ...
- Atom打造 c/c++编译环境(忙了一个上午)
众所周知 Atom是一款非常酷炫的编辑器.因为它就像上古卷轴一样,玩家可以开发各种dlc补丁,实现自己想要的效果.所以Atom 可以被你改造成自己想要的东西,可以用来写算法竞赛题目,可以开发网页,可以 ...
- 轻量化卷积神经网络MobileNet论文详解(V1&V2)
本文是 Google 团队在 MobileNet 基础上提出的 MobileNetV2,其同样是一个轻量化卷积神经网络.目标主要是在提升现有算法的精度的同时也提升速度,以便加速深度网络在移动端的应用.
- 基于WebGL/Threejs技术的BIM模型轻量化之图元合并
伴随着互联网的发展,从桌面端走向Web端.移动端必然的趋势.互联网技术的兴起极大地改变了我们的娱乐.生活和生产方式.尤其是HTML5/WebGL技术的发展更是在各个行业内引起颠覆性的变化.随着WebG ...
- 铁大Facebook轻量化界面NABCD
界面轻量化: N:满足了用户更快速.更直接.更方便寻求自己所要信息的需求,不被复杂界面以及各种广告所困扰. A:我们将会用Bootstrap工具包开发前端界面,Bootstrap是基于jQuery框架 ...
- 毕加索发布轻量化转化引擎及BIMSOP协作云平台
一直以来,杂务缠身,博客都好久没有更新了,以后还是要继续坚持总结一下.希望能有时间坚持下去 :) 月初在国家会议中的智能展会上,我分享了毕加索公司近来的工作,即自行研发的轻量化转化云平台,以及以此为基 ...
- js便签笔记(14)——用nodejs搭建最简单、轻量化的http server
1. 引言 前端程序猿主要关注的是页面,你可能根本就用不到.net,java,php等后台语言. 但是你制作出来的网页总要运行.总要测试吧?——那就免不了用到http server.我先前都是用vis ...
随机推荐
- Go:定时执行任务time.sleep和time.tick的优劣
golang 写循环执行的定时任务,常见的有以下三种实现方式:1.time.Sleep方法: for { time.Sleep(time.Second) fmt.Println("我在定时执 ...
- luogup3834(主席树模板)
luogup3834(主席树模板) 给定由N个正整数构成的序列,将对于指定的闭区间查询m次其区间内第k小值.1≤N,M≤2e5. 有一个做法,是对于每个序列的前缀建一颗权值线段树,然后通过权值线段树相 ...
- 洛谷P2060 faebdc玩扑克2
P2060 faebdc玩扑克2 题目背景 faebdc和zky又在玩扑克 题目描述 给你2N张牌,编号为1,2,3..n,n+1,..2n.这也是最初的牌的顺序. 一次洗牌是把序列变为n+1,1,n ...
- ajax跨域问题解决方案(jsonp,cors)
跨域 跨域有三个条件,满足任何一个条件就是跨域 1:服务器端口不一致 2:协议不一致 3:域名不一致 解决方案: 1.jsonp 在远程服务器上设法动态的把数据装进js格式的文本代码段中,供客户端调用 ...
- 多实例:MySQL系列之二
MySQL的多实例配置 在一台物理机中需要多个测试环境,那么就需要用到了搭建数据库的多个实例,多个实例的意思就是运行多份程序,实例与实例之间没有影响.要注意监听的端口需要不同. 环境:CentOS ...
- Intervals POJ - 1201 差分约束
You are given n closed, integer intervals [ai, bi] and n integers c1, ..., cn. Write a program that: ...
- Webpack, 现在最流行的模块打包工具.压缩打包
压缩bundle.js 1.把我们项目的代码从es6 -> es5 [babel] 参考:http://babeljs.io/docs/setup/#installation 1.1.安装包 b ...
- 【SQL Server 优化性能的几个方面】(转)
转自:http://blog.csdn.net/feixianxxx/article/details/5524819 SQL Server 优化性能的几个方面 (一).数据库的设计 可以参看最 ...
- Microsoft JDBC Driver 使用 getParameterMetaData 会报错?
不知道为何使用 Microsoft JDBC Driver for SQL Server 驱动时,sql语句不带参数没有问题,但是如果带参数且使用 getParameterMetaData 就会提示某 ...
- HTTPS和SSL证书
1. HTTPS工作原理 HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,(目的是安全的获得对称密钥用户后续传输加密)过程的简单描述如下: a).浏览器讲自己支持的多个加 ...