`
tibaloga
  • 浏览: 868689 次
文章分类
社区版块
存档分类
最新评论

瞎扯Boost、Code::Blocks和D

 
阅读更多
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta content="openoffice.org 2.4 (linux)" name="generator"> <style type="text/css"> <!-- @page { size: 21cm 29.7cm; margin: 2cm } p { margin-bottom: 0.21cm } h2 { margin-bottom: 0.21cm } h2.western { font-family: "bitstream vera sans", sans-serif; font-size: 14pt; font-style: italic } h2.cjk { font-family: "bitstream vera sans"; font-size: 14pt; font-style: italic } h2.ctl { font-family: "bitstream vera sans"; font-size: 14pt; font-style: italic } --> </style>

瞎扯Boost、Code::Blocks和D

本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,务必保留全文完整,未经许可,不得商用。

我这几年的开发工作已经以python为主,C++只是偶尔在自己的一些实验中才用了,所以可以说不用C++已经好多年。最近家里的台式机和笔记本已经全部转成ubuntu ,也就有了更方便的C++ 环境,再加上一直以来的C++ 情结,便又重拾了它。孔夫子曰过温故而知新,这一重回C++ 世界便有些话想来瞎扯一下。

Boost1.35 的发布是我重新回到 C++的动力之一。1.35 新增了12 个新的库,其中Asio无疑是最吸引眼球的。最近自己的工作也以 linux 平台下的游戏服务器开发为主,虽然整个服务器几乎是纯python 开发的,但毕竟与网络等接触面增大,关注asio 是必然的。Bimap和 CircularBuffer是新增的两种容器,感觉上它们的存在使得C++ 的数据结构空前地丰富了,甚至比python 还要多一些?Intrusive库提供了”侵入“式的容器,性能更好,内存占用更少,但相应地用户要承担更复杂的对象生存期管理和更为困难的线程安全分析。Interprocess和MPI库分别提供了共享内存和分布式并行编程的支持,与thread 库一起为多核时代的C++ 编程铺设了一条更为平坦的道路,它们加入boost 显然也是大势所趋。Function Types, Fusion,Math/Special Functions, Math/Statistical Distributions, 以及System因为自己在开发中普遍应用它们的可能性较小,所以没有能够挤出时间来了解它们。但1.35中不得不一提的就是GIL 库,它是由 adobe贡献的图像处理库,因为之前对图像处理方面做过一些实验,所以也看过官网的一些视频教程,深为其高水平的设计与实现所折服,如果我是专业做图像处理的程序员,我一定会好好关注、学习这个库的。

从1.35来看,boost从一开始的作为 stl的补充(注重实用),到充分地挖掘 C++的特性(注重理论),现在又回归到了以增加某一领域专用的库为主的基调,比如asio、gil和对并行开发的支持都可以看出boost 1.35 新增特性非常实用。

如果使用 C++ 进行开发,没有一个好用的IDE 是比较难受的。我以前习惯使用 VC6,后来升级为VC2005,中间的 VC2003一直用不惯,可惜的 python2.5 等许多我需要用到的开源软件都是用 VC2003编译的,我又懒得在 win32平台下把它们都重新编译一遍,便就不得不常常把编程的平台转移到脚本和linux 上来,尽量不在win32 下碰 C++。老早就听说过Code::Blocks 的大名了,也下载来安装过,但都没有能够在win32 下通过 beta版本 build 成功。直到ubuntu 8.04 发布之后,把家里用的笔记本换成了ubuntu,便又记起这个号称跨平台的IDE。当时正在公司上班,跑上官网一看,竟然出了正式版了,版本号与ubuntu一样采用了年月的方式,当前版本是 8.02。下载了一个带了MinGW 的版本,不过是19M,比起动不动几G的VS系列实在算是骨瘦如柴。装在公司用的本本上,打开一看,端的是漂亮,尝试新建几个样板项目编辑、编译了一下,感觉非常舒适,便决意不装VS 系列了。


一张从官网“借”来的 CB截图

回到家里再去下载for ubuntu的版本就九经周折,下载速度非常慢。几次放弃,几次重来之后,终于下载了源码版本。解压、配置、编译、安装,除了中间需要先装上wxWidgets 2.8之外,一切还算顺利。安装完后在[应用程序]菜单下的[编程]子菜单中可以找到Code::Blocks的启动项,谁知认真点击之后硬盘灯亮了一阵,啥也没显示出来。后来在命令行敲入codeblocks 才看到原来出了这样的错误:

codeblocks:error while loading shared libraries: libcodeblocks.so.0: cannot openshared object file: No such file or directory

请教 Google大神之后得到的解决方案是这样的:

sudovi /etc/ld.so.conf #编译该文件
/usr/local/lib#将该行加入到该文件的末尾,然后保存
sudoldconfig #重新配置

这样就能够解决问题了。

CB的确是非常漂亮,上手度也很好,配置界面极为舒适,值得推荐。我又因为在CB 中看到 D语言的支持,不由得就又跃跃欲试。在去年的时候就关注过一段时间的D语言,对其好称有编译型语言的执行速度和脚本语言的开发效率极感兴趣。尤其是它的契约式编程,我觉得对于团队协作是一个很有用的特性,另外原生的单元测试支持也为它加分不少,属性、元编程等现代面向对象特性和对C库的二进制兼容都让我不得不关注他。

Code::blocks对D的支持可以说是非常完备的,难怪D 语言已经是流行度极高的语言,随着D 2.0进入预发布阶段,它的实用性越来越高了,我得找时间学学新东西了!

与开源接触越多,越觉得这个自由的世界尤为精彩,现在是时候把WinXP 换成 ubuntu,把VS 换成 CB,再学一门新的语言了。

<!-- SiteSearch Google -->
Google 输入您的搜索字词 提交搜索表单
Web blog.csdn.net
<!-- SiteSearch Google -->
分享到:
评论

相关推荐

    集成开发C语言编译器:Code::Blocks

    Code::Blocks是一个强大的...支持多种文件类型:Code::Blocks不仅支持自身的工程文件、C/C++文件,还支持多种其他文件类型,如AngelScript、批处理、CSS文件、D语言文件等。 灵活的配置:Code::Blocks具有灵活而强大

    Code::Blocks 10.05中文资源包

    看到不少的Code::Blocks 10.05中文资源包,基本都是用得8.02版的,汉化不全,针对Code::Blocks 10.05进行了汉化。

    32位code::blocks 20.03下载

    因为这个是不自带MinGW文件夹的,所以需要自己另外下载MinGW文件夹。下载点击安装,配合我博客的另一个MinGW文件夹即可开始使用code::blocks

    Code::Blocks for C_Cpp Novice2

    这是关于Code::Blocks的一些中文文档,对Code::Blocks感兴趣的童鞋可以下载学习。

    Code::Blocks8.02

    Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境。 Code::Blocks是开放源码软件。Code::Blocks由纯粹的C++语言开发完成,它使用了蓍名的图形界面库wxWidgets(2.6.2 unicode)版。对于追求完美的C++...

    Code::Blocks for C_Cpp Novice1

    这是关于Code::Blocks的一些中文文档,对Code::Blocks感兴趣的童鞋可以下载学习。

    Code::Blocks使用手册

    内容全面,具体。 Code::Blocks Windows平台下一个C++ IDE,支持跨平台开发。

    Code::Blocks for C_Cpp Novice4

    这是关于Code::Blocks的一些中文文档,对Code::Blocks感兴趣的童鞋可以下载学习。

    Code::Blocks 8.02 GCC 4.40 汉化包

     Code::Blocks具有灵活而强大的配置功能,除支持自身的工程文件、C/C++文件外,还支持AngelScript、批处理、CSS文件、D语言文件、Diff/Patch文件、Fortan77文件、GameMonkey脚本文件、 Hitachi汇编文件、Lua文件、...

    Code::Blocks官方使用手册(CHM)

    Code::Blocks官方使用手册,CHM格式。

    Code::Blocks 17.12 中文版

    Code::Blocks 17.12 中文版 汉化方法: 1.关闭Code::Blocks 2.将share文件夹覆盖到Code::Blocks根目录下 3.打开Code::Blocks 4.依次点击Settings --&gt; Environment... --&gt;View 5 .将第二个选项...

    [C++] C++ Code::Blocks 应用开发教程 (英文版)

    [Packt Publishing] C++ Code::Blocks 应用开发教程 (英文版) [Packt Publishing] C++ Application Development with Code::Blocks (E-Book) ☆ 图书概要:☆ Develop advanced applications with Code::Blocks ...

    CODE::BLOCKS GLUT 完整开发包

    code::blocks开发环境不错,但是不能直接使用glut开发opengl,要使用得配置。 这个里提供配置需要的完整开发包

    Code::Blocks多语言包国(含简体中文包)

    Code::Blocks多语言包国(含简体中文包) 解压在CodeBlocks\share\CodeBlocks\locale目录下就 ok了

    svn Code::Blocks rev 6852 中文资源包

    在老邓的codeblocks集成环境中进行的汉化,使用方法:将此资源包放到CodeBlocks\share\CodeBlocks\locale\zh_CN目录即可,...view,勾选Internationalization,选择Chinese(Simplified),OK重启Code::Blocks中文界面了。

    Code::Blocks中文教程.rar

    1. 安装Code::Blocks….…………………3 1.1 下载……………….….…………. .3 1.2 安装……………………...………………….….…………3 2. Code::Blocks的编程环境配置…………….……….…………7 2.1 环境...

    Code::Blocks for C_Cpp Novice3

    这是关于Code::Blocks的一些中文文档,对Code::Blocks感兴趣的童鞋可以下载学习。

    Code::Blocks SourceCode

    Code::Blocks Source Code

    Code::Blocks最新升级包

    Code::Blocks最新升级包,2010.2.27更新。 更新方法:下载后解压缩文件到Code::Blocks安装文件夹里即可。注意更新时关闭Code::Blocks,且更新后会将软件语言恢复为默认的英语,需重新修改回中文。

    Code::Blocks的源码编译和配置

    Code::Blocks的源码编译和配置

Global site tag (gtag.js) - Google Analytics