2024年5月9日发(作者:)
这几天一直再找一个好的C_C++软件开发的IDE,在网上搜了许久,看了诸多评论,
多是关于VC++、c++ builder和Dev-C++的,因为我喜欢玩Linux系统,综合考虑准备在c++ builde
r和Dev-C++中选一个用,再问朋友,又有说VC++好,整得我也不知道选哪个学了。又在网
上搜了半天,发现还有人推荐Code::Blocks,通过百度对这个软件的了解,发现其实比那
三个开发IDE要好,可谓集中了那三个软件的优势,正是我所想要的,太好了。
如果你也在找一个合适C_C++软件开发IDE,希望是跨平台的,在几个开发IDE间犹豫不
定的话,现在我就可以给你结论了,Code::blocks是最好的选择。
以下是关于这个软件的介绍。
Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境。 Code::Blocks是
开放源码软件。Code::Blocks由纯粹的C++语言开发完成,它使用了蓍名的图形界面
库wxWidgets(2.6.2 unicode)版。对于追求完美的C++程序员,再也不必忍受Eclipse的缓慢,
再也不必忍受的庞大和高昂的价格。
Code::Blocks是一个开源、免费、跨平台(支持Windows、GNU/Linux、Mac OS X以
及其他类UNIX)、支持插件扩展的C/C++集成开发环境。Code::Blocks的源码使用GPL3.0发
布,是免费自由软件。
关于中文化,安装中文语言包即可。
Windows平台安装
依次安装GCC For Windows、 GDB For Windows(见扩展阅读,或者用
CodeBlocks附带的MinGW)、CodeBlocks。
打开CodeBlocks,在Settings->Compiler and debugger settings->选择
GNU GCC Compiler,并在Toolchain executables中设置好对应执行软件路径(若
是希望使用VC编译器,类似地设置即可)。
其他平台安装
从软件源中安装即可。
主要特点
虽然Code::Blocks从一开始就追求跨平台目标,但是最初的开发重点是
Windows平台,从06年3月21日版本:1.0 revision 2220开始,Code::Blocks
在它的每日构建中正式提供GNU/Linux版本,这样 Code::Blocks在1.0发布时
就成为了跨越平台的C/C++IDE,支持Windows和GNU/Linux。由于它开放源码的
特点,Windows用户可以不依赖于VS. NET,编写跨平台C++应用。目前稳定版
本是10.05。
Code::Blocks提供了许多工程模板,这包括:控制台应用、DirectX应用、
动态连接库、FLTK应用、GLFW应用、Irrlicht工程、OGRE应用、OpenGL应用、
QT应用、SDCC应用、SDL应用、SmartWin应用、静态库、Win32 GUI应用、wxWidgets
应用、wxSmith工程,另外它还支持用户自定义工程模板。在wxWidgets应用中
选择UNICODE支持中文。
Code::Blocks支持语法彩色醒目显示,支持代码完成(目前正在重新设计过
程中)支持工程管理、项目构建、调试。
Code::Blocks支持插件,目前的插件包括代码格式化工具AStyle;代码分
析器; 类向导;代码补全;代码统计;编译器选择;复制字符串到剪贴板;调
试器;文件扩展处理器;Dev-C++DevPak更新/安装 器;DragScroll,源码导出
器,帮助插件,键盘快捷键配置,插件向导;To-Do列表;wxSmith;;wxSmith
MIME插件;wsSmith工程向导插件;WindowsXP外观。
Code::Blocks具有灵活而强大的配置功能,除支持自身的工程文件、C/C++
文件 外,还支持AngelScript、批处理、CSS文件、D语言文件、Diff/Patch
文件、Fortan77文件、GameMonkey脚本文件、 Hitachi汇编文件、Lua文件、
MASM汇编文件、Mathlab文件、NSIS开源安装程序文件、Ogre Compositor脚本
文件、Ogre Material脚本文件、OpenGL Shading语言文件、Python文件、Windows
资源文件、XBase文件、XML文件、nVidia cg文件。识别Dev-C++工程、MS VS
6.0-7.0工程文件,工作空间、解决方案文件。
Code::Blocks基于wxWidgets开发,正体现了wxWidgets的强大。以 前
Borland C++Builder X宣称基于wxWidgets开发跨平台、兼容性好、最优秀的
C++ IDE环境,但没有实现;现在Code::Blocks+GNU GCC正在实现这个理想。
让我们拭目以待。国内的Code::Blocks爱好者和跨平台开发员应该尽快建立中
文Code::Blocks网站,提供 Code::Blocks中文化支持,促进Code::Blocks在国
内的发展。
关于wxWi
dgets
wxWidgets是一个开源的跨平台的C++构架库(framework),它可以提供GUI(图形用
户界面)和其它工具。目前的2.x版本支持所有版本的Windows、带GTK+或Motif的Unix
和MacOS。一个支持OS/2的版本正在开发中。
wxWidgets在最开始是由爱丁堡(Edinburgh) 大学的人工智能应用学院开发的,
主要是内部使用,而在1992年第一次公布。 2.x版本做了很大程度的改良,并
且由Julian Smart, Robert Roebling, Vadim Zeitlin, Vaclav Slavik和更多
其他的人所编写和维护。
wxWidgets的主体是由C++构建的,但你并不是必需通过C++才能使用
wxWidgetets拥有许多其它语言的绑定(binding),使你在用其它语
言编写程序的时候也可以使用wxWidgets.
wxwidgets是一个 c++编写的用来提供gui开发的框架。它包含一个可以支持现今几乎所
有操作系统(Version 2 currently supports all desktop versions of MS Windows, Unix with GTK+,
Unix with Motif, and MacOS. An OS/2 port is in progress.)的GUI库和其他一些很有用的工具,
提供了类似MFC的功能。而且,特别要说一下,这个c++lib还的新版本还提供了对掌上电
脑的支持。当然,说到这里很多人会想到java对多系统的支持,其实这是不一样的,java
的跨平台是建立在“中间代码”的基础上的,就是说需要在目标平台上安装java解释器;但是
wxwidgets是c++库,经过编译后,他提供的是native级的机器码,在gui编程方面,这可是
[1]
意味着很大的不同。
那么wxwidgets有什么特别之处呢?比起其他的跨平台gui库,有什么好处呢?
1、(不得不放在第一位的)就是他无论对于个人还是对于商业应用都是免
费的!
——它的主体框架的授权协议支持商业免费应用,其外围功能库中很多也是
lgpl授权的,这无疑对于我等“0资本”的人来说是天大的好事。不同于Qt之类
的跨平台gui库。
2、 他是跨平台的gui库,支持的操作系统很全面,甚至支持pda(说不定
过一段时间他都能够支持symbian了)。
—— 此跨平台非彼跨平台,它虽然不像java那样是“全面”的,而仅仅是
gui库,但是gui是计算机编程中,最为麻烦、耗费时间、容易出现bug的部分,
特别当你想要自己的软件运行在多个操作系统上的时候,开发和维护的难度让人
难以想象。其实c++也是支持“跨平台”的,因为c++可以在任何平台上编译运
行,之所以没几个人说他是跨平台的,主要问题就出在变量长度和各操作系统的
gui(这里的“界面”我指得是很广义的)上,如果解决了gui的问题,基本上
就解决了c++的“跨平台”问题——至少不用为每种平台都维护一份源代码了。
3、 wxwidgets提供的gui是大量使用宏的,这就意味着它是在尽可能的使
用目标系统native的gui样式。
——你可以访问wxwidgets网站,看看那些开发的软件的截图,全是系统
native级别的。如果你开发了一个xp系统的软件的话,你的软件会仍然以“xp
专有的‘小贱人’级别”的面貌展现在你面前。
4、 它支持的编译器也很多,而且borland也曾声明将在c++builderx2里
边提供对wxidgets的支持——预览版都出来了。
——其实我就是看到borland在c++不景气的时候,这么看重这个东东,甚
至用它来做“王牌”,才开始注意到他的。当然,反过来,也正是borland的支
持,才使他活力大发的。
5、 自然,有牛X支持,而且是开源的,wxwidgets一直都在快速稳健的开
发中,其周边工具也越来越多。
—— 随着MS开始全力支持他的.net,c++成了“没落”的语言,但是不可
否认,c++还是有很多用武之地的,所以根本不可能真正没落。没有了超牛X的
支 持,地球人自然开始寻求新的发展方式,wxwidgets这种开源免费,且允许
商业应用的好东东,自然会被人们所重视。
前景
当然,wxwidgets也有一些不足,比如官方文档不全(至少我觉得个官
方的help远远不够我的菜鸟需求,大部分都是网络上零散的教程),特别是没
有源代码的开发速度快;没有强大全面的rad工具;还没有形成很浓的产业气候,
等等。但是,个人觉得它的好处绝对大于它的缺点,而且很有发展前途。
发布评论