linux下C/C++IDE比较——Code::Blocks
工欲善其事,必先利其器。用了这么久的linux,现在比较主流的几个C/C++的IDE基本已都用过了,现在来对他们做一下简单的比较。
1、VIM
首先要说的是VIM。我认为,VIM只是一个编辑器,不能算是IDE。虽说VIM有很多插件,例如代码折叠、递进等,可以将VIM组建成几乎类似一个IDE,但始终它不是专门的IDE,所以在功能支持上还是远不如那些专门的IDE如:eclipse和code::blocks(这个是本文最后介绍也是我想向大家推荐的IDE)。用VIM+GDB来编写和调试C++程序是很“痛苦”的一件事,友情提示,如果你不是一名unix hacker的话,不要用VIM当作你的C++ IDE。不过,VIM有它的好处,它作为一个编辑器,当你通过SSH连接到远程服务器上、修改一些配置文件或者对代码进行“微调”时是非常有用的。
这里再补充说一点,我所说的unix hacher并不是大家平时理解的破解系统、攻击别人电脑的那些人(我认为应该称他们cracker),我认为的hacker是类似Richard Stallman、Linus Torvalds这些技术很强、喜欢通过自己思考并编程来解决复杂问题的人(大家应该都听过Stallman关于打印机驱动的故事吧)。
2、Emacs
Emacs是Stallman大师的杰作,刚一接触就被它所吸引。不管是Emacs的拥护者还是反对者,都不得不承认Emacs非常优秀,Emacs远远超过了一个IDE,而是一个基于编辑环境的OS。Emacs有很多很好的特性,就算现在很多出名的IDE都无法比的,比如:内嵌Lisp函数式语言。Emacs有种种优点,但是作为一个起源于unix系统并且是几十年前设计的IDE,对于今天的我们来说,可能会有很多不习惯的地方。比如快捷键就是其中之一:比如复制和粘贴,很多WINDOWS软件和LINUX软件都用的是CTRL+C和CTRL+V,而Emacs使用的完全不同,是CTRL+SPACE和ALT+W是复制,CTRL+Y是粘贴。更重要的是,Emacs也需要插件才能实现C++IDE的功能。并且觉得Emacs的风格有点像“上个世纪”的东西,
所以我觉得如果你不是一开始就用的linux系统、如果你已经习惯了现在的编辑环境,那最好还是选一个当代的IDE,因为这个用起来更习惯一些。
3、Eclipse
Eclipse是一个很优秀的JAVA做的IDE,在SUN和IBM公司的支持下,Eclipse确实做得相当优秀。虽然我不会java,没有用Eclipse写过java程序,而是用Eclipse来写PHP,但是也能体会出Eclipse的优秀。并且它的插件功能也做得非常棒,网上有很多关于它的介绍,我就不在多说了,因为,它也不是我今天想向大家推荐的C++IDE,主要原因是——速度慢、体积大。还有就是没用它调试过C++,所以不知道到底如何。
4、Code::Blocks
今天想向大家隆重推荐的一个跨平台的C++IDE就是——Code::Blocks。它是基于wxWidget库的程序。首先,因为它就是用C++开发的,所以在速度上明显比Eclipse快。其次,因为是一个专门的C++IDE,所以在配置方面也非常符合C++开发的习惯,功能几乎可以和VC2005/2007媲美。最后,它还是一个开源的IDE,并且它的体积比Eclipse和VC小了不止一个数量级——整个压缩后的源码包只有6M多!
其实说实话,我也是刚开始用Code::Blocks,但是我敢负责任的说,它真的很好。以前编程和调试都一直在VIM、Emacs和gdb里挣扎,命令方式的GDB调试把握折腾的都崩溃了。突然接触了Code::Blocks以后,马上让我找到了当前用VC编程和调试的快乐的感觉。就是前几天,我在GDB下调试一个C++程序时的不便,尝试了DDD还是觉得不方便,于是偶然间试了一下Code::Blocks,一会的时间问题就解决了。虽然它使用的还是GCC+GDB,但是它对其包装以后使我使用起来感到了极大的方便(尽管和是没有VC调试起来这么好用)。
更多的介绍我不想说了,既然它这么小,并且各大流行的OS下(windows、mac os x、redhat、ubuntu...)都有已编译好二进制版本,你何不试试呢?它的官方网站是:www.codeblocks.org
最后总结一下:VIM是每一个linux程序员都必需会的东西,非常值得学习和熟练使用,但是你不必用它来当作你主要的C++IDE。Emacs感觉上有点和当代软件风格不一样,等你到达一定层次以后自己再决定是否学习使用它。Eclipse可能更适合JAVA爱好者使用,虽然速度没有慢到无法忍受,但是总有点让人心里感觉不是太爽。而我强烈推荐大家试试Code::Blocks,相信你会向我一样一下子就被它所吸引。
linux下C/C++IDE比较——Code::Blocks的更多相关文章
- linux下c/c++ IDE开发工具介绍
为避免以下某个软件安装时不自动安装 build-essential 不妨先执行: sudo apt-get install build-essential [编辑 ]anjuta Anjuta Dev ...
- Linux下尝鲜IDE Rider .NET又一开发利器
RiderRS 扯淡:很多人说:jetbrains出品,必属精品,jetbrains确实出了不少好东西,但是他的产品总感觉越用越慢,我的小Y430P高配版也倍感压力,内存占用率高. Multiple ...
- Linux 下配置 Python IDE——Emacs
工欲善其事,必先利其器.Python作为高级语言,因为其简介.灵活已经被越来越多的程序员所青睐.在尝试了众多IDE之后,终于找到了自己的挚爱.废话少说,下面开始说一下如何在linux下安装配置Emac ...
- 编译Code::Blocks源码 with MinGW on Win
Build Code::Blocks源码 ---By 狂徒归来 CodeBlocks是一款非常优秀的IDE !可惜的是没有64位的版本,而且本来是轻量级别的IDE就应该够轻,能够像记事本工具一样,迅速 ...
- C语言工具---Code::Blocks
Code::Blocks Code::Blocks 是一个开源的全功能的跨平台C/C++集成开发环境. Code::Blocks是开放源码软件.由纯粹的C++语言开发完成,它使用了著名的图形界面库wx ...
- Linux下各硬件装置的文件名
Linux对计算机各组件/装置的分辨,是和Windows系统完全不一样的!因为各个组件/设备在Linux上都是一个文件!因此,我们在认识各项设备时一定要学习Linux的设备文件名. 众所周知,Linu ...
- Code::Blocks 免安装版本下载及配置
在编程的时候选择一款好用的IDE非常重要,对于初学者或需要开发项目的程序员来说更为重要,众多的IDE中 Code::Blocks 是一个不错的选择.Code::Blocks开源.版本多,并且还有免安装 ...
- 在Ubuntu Linux下安装Code::Blocks和Eclipse CDT
最近小白由于有工作学习的需要,要尝试在Linux下进行C++编程.所以特地花了一点时间研究一下Linux下的C++的IDE.最后我尝试了使用Code::Blocks和Eclipse两个著 ...
- Fedora Linux 下安装配置C开发环境Code::Blocks
一.提前的话要说C语言和Linux的关系大家应该都不会陌生,Linux系统内核就是用C语言开发的,所以所有的Linux系统下面 都会有C的编译调试工具,不过这些工具都是命令式的,正式开发的话会很不方便 ...
随机推荐
- node.js第十课(HTTPserver)
概念:Node.js提供了http模块.当中封装了一个高效的HTTPserver和一个简单的HTTPclient. http.server是一个基于事件的HTTP服务器.内部用C++实现 ...
- Android 一个绚丽的loading动效分析与实现!
http://blog.csdn.net/tianjian4592/article/details/44538605 前两天我们这边的头儿给我说,有个 gif 动效很不错,可以考虑用来做项目里的loa ...
- 2015 款 Macbook Pro 的 ForceTouch 触控板开启 三指拖动
RT, 默认的触控板设置中没有了三指拖动这个选项, 但是可以通过勾选 辅助功能 -> 鼠标与触控板 -> 触控板选项 中的 启用拖移 来启用三指拖动...
- USACO Hamming Codes DFS 构造
我还是用了很朴素的暴力匹配A了这题,不得不感叹USACO时间放的好宽... /* ID: wushuai2 PROG: hamming LANG: C++ */ //#pragma comment(l ...
- Codeforces 482 - Diverse Permutation 构造题
这是一道蛮基础的构造题. - k +(k - 1) -(k - 2) 1 + k , 1 , k , 2, ....... ...
- 红黑树和AVL树的实现与比较-----算法导论
一.问题描述 实现3种树中的两种:红黑树,AVL树,Treap树 二.算法原理 (1)红黑树 红黑树是一种二叉查找树,但在每个结点上增加一个存储位表示结点的颜色,可以是red或black.红黑树满足以 ...
- android 应用静默自启动的解决方法
一个apk完全的自动静默启动目前不能实现,所以就用到了Activity的一个方法activity.moveTaskToBack(boolean),这个方法就是可以退出应用到后台而不是finish()退 ...
- python变量传递给系统命令的方法
python程序内执行shell命令可以有几种方式,在http://www.cnblogs.com/xuxm2007/archive/2011/01/17/1937220.html 里都有详细介绍. ...
- centos安装python gcc sqlite
终端中输入命令:yum install gcc -y yum install python -y yum install sqlite -y
- Spring MVC视图层:thymeleaf vs. JSP
本文对比了同一Spring MVC工程中相同页面(一个订阅表单)分别采用Thymeleaf和JSP(包括JSP.JSTL.Spring tag lib)两种方式的实现. 本文的所有代码来自一个可运行的 ...