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的编译调试工具,不过这些工具都是命令式的,正式开发的话会很不方便 ...
随机推荐
- mysql select简单用法
1.select语句可以用回车分隔 $sql="select * from article where id=1" 和 $sql="select * from artic ...
- String详解说明
大家平时都string都不是很在意,但是每当面试碰到String的时候在“==”和equals之间就乱了,下面我来说一说String,也许不够全面,请大家多多指教,希望会帮到处于蒙圈状态的人们. 一. ...
- hdu2629Identity Card
Problem Description Do you own an ID card?You must have a identity card number in your family's Hous ...
- hdu1284经典钱币兑换问题
钱币兑换问题. 题目 http://acm.hdu.edu.cn/showproblem.php?pid=1284 完全背包. 这种是求背包问题最多的组合方案 参考了一些资料 http://blo ...
- CURL基础
下载单个文件: #下载单个文件,默认将输出打印到标准输出中(STDOUT)中curl http://www.centos.org # 将文件下载到本地并命名为mygettext.html curl - ...
- Week2(9月19日):增加一个CodeFirst的例子来说明
Part I:提问 =========================== 1.上堂课中我们使用了()数据库,它是()可部署的,只需要将相应的()文件添加到应用程序的()文件夹,就可以使用了,该数据 ...
- synapse socket总结一:服务器模型
synapse (http://synapse.ararat.cz/doku.php)的源码简洁明了,属于轻量级的阻塞式socket通讯组件包,更多的功能需要自己基于它的基础上去封装实现.相对于ind ...
- 基于visual Studio2013解决算法导论之012计数排序
题目 计数排序 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #in ...
- 一起学习CMake – 03
这一节我们就一起来看看如何用CMake来链接自己写的lib库,如何进行这些库文件的管理. 一个团队共同开发软件时,一般都是分模块进行作业的,每个人负责整个软件中的一部分,然后再整合成一个完整的软件系统 ...
- Linux 下IOport编程訪问
曾经写的一篇笔记.偶尔翻出来了,放在这里做个纪念 Linux 下IOport编程訪问 这里记录的方法是在用户态訪问IOport,不涉及驱动程序的编写. 首先要包括头文件 /usr/include/as ...