工欲善其事,必先利其器。用了这么久的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的更多相关文章

  1. linux下c/c++ IDE开发工具介绍

    为避免以下某个软件安装时不自动安装 build-essential 不妨先执行: sudo apt-get install build-essential [编辑 ]anjuta Anjuta Dev ...

  2. Linux下尝鲜IDE Rider .NET又一开发利器

    RiderRS 扯淡:很多人说:jetbrains出品,必属精品,jetbrains确实出了不少好东西,但是他的产品总感觉越用越慢,我的小Y430P高配版也倍感压力,内存占用率高. Multiple ...

  3. Linux 下配置 Python IDE——Emacs

    工欲善其事,必先利其器.Python作为高级语言,因为其简介.灵活已经被越来越多的程序员所青睐.在尝试了众多IDE之后,终于找到了自己的挚爱.废话少说,下面开始说一下如何在linux下安装配置Emac ...

  4. 编译Code::Blocks源码 with MinGW on Win

    Build Code::Blocks源码 ---By 狂徒归来 CodeBlocks是一款非常优秀的IDE !可惜的是没有64位的版本,而且本来是轻量级别的IDE就应该够轻,能够像记事本工具一样,迅速 ...

  5. C语言工具---Code::Blocks

    Code::Blocks Code::Blocks 是一个开源的全功能的跨平台C/C++集成开发环境. Code::Blocks是开放源码软件.由纯粹的C++语言开发完成,它使用了著名的图形界面库wx ...

  6. Linux下各硬件装置的文件名

    Linux对计算机各组件/装置的分辨,是和Windows系统完全不一样的!因为各个组件/设备在Linux上都是一个文件!因此,我们在认识各项设备时一定要学习Linux的设备文件名. 众所周知,Linu ...

  7. Code::Blocks 免安装版本下载及配置

    在编程的时候选择一款好用的IDE非常重要,对于初学者或需要开发项目的程序员来说更为重要,众多的IDE中 Code::Blocks 是一个不错的选择.Code::Blocks开源.版本多,并且还有免安装 ...

  8. 在Ubuntu Linux下安装Code::Blocks和Eclipse CDT

           最近小白由于有工作学习的需要,要尝试在Linux下进行C++编程.所以特地花了一点时间研究一下Linux下的C++的IDE.最后我尝试了使用Code::Blocks和Eclipse两个著 ...

  9. Fedora Linux 下安装配置C开发环境Code::Blocks

    一.提前的话要说C语言和Linux的关系大家应该都不会陌生,Linux系统内核就是用C语言开发的,所以所有的Linux系统下面 都会有C的编译调试工具,不过这些工具都是命令式的,正式开发的话会很不方便 ...

随机推荐

  1. 随机生成A~Z的字母CharDemo

  2. veridata实验例(5)在更改主键列值,update操作将被分成两个语句

    veridata实验例(5)更改主键列值,update操作将被分成两个语句 续接"veridata实验举例(4)验证veridata查找出updata.delete操作导致的不同步现象&qu ...

  3. POJ 1155 - TELE 树型DP(泛化背包转移)..

    dp[x][y]代表以x为根的子树..连接了y个终端用户(叶子)..所能获得的最大收益... dp[x][ ]可以看成当根为x时..有个背包空间为0~m...每个空间上记录了到到达这个空间的最大收益. ...

  4. ZOJ2971 Give Me the Number 【模拟】

    这道题目使用Map. 然后一次性遍历下来即可. QAQ 注意初始化的时候小心点不要错.. Source Code: //#pragma comment(linker, "/STACK:167 ...

  5. CRC校验

    小试一下CRC校验的verilog实现,采用最stupid的直接法. /* date : 2014/06/06 designer : pengxiaoen virsion : Altera-Model ...

  6. 腾讯QQ:异地登陆也被封号,你们是怎么决策的???

    此文我想放到首页,让很多其它的人看到,更期待有人能解释一下.希望管理员给开绿灯. 今天真是费解,我的手机号是青岛的.可是我在武汉工作,因为是3G的卡,全国没有漫游,打电话也没多少钱,所以就没换号. 谁 ...

  7. PHP - 四级单词lrc文件解析为txt

    原始文件: 转换后文件: php代码: 首先根据需要更改文件路径. 转换后存放的文件要事先创建,为txt文件. 核心代码:正则表达式替换: <?php header('Content-type: ...

  8. C++的运算符

    C++的运算符十分丰富,使得C++的运算十分灵活方便.例如把赋值号(=)也作为运算符处理,这样,a=b=c=4就是合法的表达式,这是与其他语言不同的.C++提供了以下运算符: 算术运算符+(加)  - ...

  9. JVM --java 字节码的结构解析

    Java字节码文件的主体结构分为一下几个部分:Class文件头部.常量池区域.当前类的描述信息.字段列表.方法列表.属性列表. Class文件头部 任何的class文件的前四个字节的内容就是CA FE ...

  10. Qt核心剖析: 寻找 QObject 的源代码

    本来打算把<Qt学习之路>作为一个类似教程的东西,所以就不打算把一些关系到源代码的内容放在那个系列之中啦.因此今天就先来看一个新的开始吧!这个系列估计不会进展很快,因为最近公司里面要做 f ...