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 ...
随机推荐
- [CentOS7] gzip, bzip2, xz 压缩与解压缩
声明:本文主要总结自:鸟哥的Linux私房菜-第八章.檔案與檔案系統的壓縮,打包與備份,如有侵权,请通知博主 gzip命令: 选项参数: -c :将压缩后的数据显示到屏幕上,可以用于重定向: -d : ...
- React.Component(V16.8.6)
组件的生命周期 挂载 当组件实例被创建并插入 DOM 中时,其生命周期调用顺序如下: constructor() static getDerivedStateFromProps() render() ...
- 浅谈JavaScript -- 正则表达式
什么是正则表达式? 正则表达式是由一个字符序列形成的搜索模式.可用于文本搜索和文本替换. 语法:/正则表达式主体/修饰符(可选) var patt=new RegExp(pattern,modifie ...
- Scrapy 框架进阶笔记
上一篇简单了解了scrapy各个模块的功能:Scrapy框架初探 -- Dapianzi卡夫卡 在这篇通过一些实例来深入理解 scrapy 的各个对象以及它们是怎么相互协作的 settings.py ...
- jmeter - 录制app接口
准备: 1.手机 2.wifi 3.Jmeter 步骤: 1.Jmeter->文件->Template 2.手机设置代理 端口:8888:电脑的ip,如下图设置 3.点击启动 ...
- vue的预渲染--seo
项目用的是vue,spa,用这个很简单,但是头疼的是重要的seo优化.第一反应是服务器端渲染,但是个人搞了半天后感觉有点难,在项目时间有限的情况下,只能寻找另外的方法,把这个留给项目后在研究. 先用v ...
- 如何简单的理解TDD与DDT
TDD:TEST-DRIVEN Development 测试驱动开发究竟是什么意思?如何理解测试驱动开发? 举个红绿条简单的例子: 1.编写测试代码 2.编译运行测试代码,肯定会失败,因为实现代码还没 ...
- 73th LeetCode Weekly Contest Rotated Digits
X is a good number if after rotating each digit individually by 180 degrees, we get a valid number t ...
- 获取Spring应用环境上下文bean
import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBean ...
- 得到RequestVO
import java.io.IOException; import java.nio.charset.Charset; import javax.servlet.ServletInputStream ...