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的编译调试工具,不过这些工具都是命令式的,正式开发的话会很不方便 ...
随机推荐
- X-UA-Compatible IE 浏览器默认文档模式设置
制作网页的时候,IE8浏览器浏览页面的时候,有时候文档模式默认是IE7,导致IE8兼容性不是非常好.出现IE7应该出现的模式. 解决的方法例如以下: 在X-UA-Compatible中可用的方法有: ...
- [置顶] C++ Pirate: Lambda vs Bind
Lambda 与 Bind的性能比较 转载请说明出处:http://blog.csdn.net/cywosp/article/details/9379403 先让我们看看下面函数: template ...
- BZOJ 2730: [HNOI2012]矿场搭建( tarjan )
先tarjan求出割点.. 割点把图分成了几个双连通分量..只需dfs找出即可. 然后一个bcc有>2个割点, 那么这个bcc就不用建了, 因为一定可以走到其他救援出口. 只有一个割点的bcc就 ...
- Swift 版本历史记录(关注)
http://numbbbbb.gitbooks.io/-the-swift-programming-language-/content/chapter1/03_revision_history.ht ...
- Ubuntu网络频繁掉线解决方案
年底了,实验室终于给配了个电脑(Ubuntu系统),博主欣喜若狂啊,然而装好后发现无线网频繁掉线,重启网络后能正常上网2~3分钟然后又掉线,再重启又能上网2~3分钟然后再掉线,博主那个不爽啊,于是各种 ...
- PLSQL Developer使用技巧整理(转)
一.工具-首选项-用户界面-编辑器-其它-显示行号二.工具-首选项-窗口类型-SQL窗口-显示隔号(行号) 在使用PL/SQL Developer对Procedure进行Debug时,突然发现无法Se ...
- 测试DOM0级事件和DOM2级事件的堆叠
1. 问题 如果大家看过北风网CJ讲师的Javascript视频教程,就可以看到其封装了一个很强的事件添加和删除函数,如下所示 function addEvent(obj, evtype, fn) { ...
- 《HTML 5网页开发实例具体解释》文件夹
第一篇 从宏观上认识HTML 5 讲述了HTML 5引发的Web革命.HTML 5的总体特性.HTML 5相关概念和框架和开发环境搭建. 第1章 HTML 5引发的Web革命 1.1 你是不是真的 ...
- 使用ffmpeg将BMP图片编码为x264视频文件,将H264视频保存为BMP图片,yuv视频文件保存为图片的代码
ffmpeg开源库,实现将bmp格式的图片编码成x264文件,并将编码好的H264文件解码保存为BMP文件. 实现将视频文件yuv格式保存的图片格式的測试,图像格式png,jpg, gif等等測试均O ...
- 关于负数的isdigit()判断
-->the start 今天写作业的时候突然想到,一直使用isdigit()方法来处理用户的输入选择是不是数字,但是如果用户输入的是负数呢,会不会导致bug? 然后我就试了一下,居然不报错.. ...