摘要:·概述: 主要是两个库:smart_ptr库和pool库。 smart_ptr库主要解决的问题是指针的内存泄漏和垃圾回收问题;pool则是解决内存分配问题。 感觉还是smart_ptr库比较好用一些,而其中的shared_ptr数据最常用和最好用的技巧。 ·要点: smart_ptr库: 由技巧提升为技术的。主要成员scoped_ptr/scoped_array,shared_pt...
阅读全文
摘要:概述: 这是《Boost程序库完全开发指南》书中第一个介绍的库。将书中的代码实践了一遍,但感觉没想象中的那么好--可能是我的期望太高了吧。不过还是将学习的收获和感受记录下来。 学习: ·timer库: 就是一个使用了C函数clock()的简单的计时器,可以参照源代码实现自己的计时器。而且在实践例子出现问题,就是linux平台上clock()函数计算的是cpu的时间,而使用sleep()和...
阅读全文
摘要:说明: linux下编程在不实用IDE的情况下,基本的工具有vim+gcc+gdb。不过个人感觉很原始。不过高手们都说这样才能显得高端么。 其中make工具可以实现一定的自动化。联想到linux下安装软件的时候,过程为:执行./config之类的配置文件,make编译文件,make install安装文件和使用make clean来清理安装中的垃圾。两个都使用的make工具。 模版: #这...
阅读全文
摘要:说明: 可能是用windows时间长的关系,总感觉linux下的软件管理很麻烦。 特意说明下:这里的方法非原创,都是在安装过程中遇到问题在搜索之后的整理。作为一种经验整理。·安装: 依赖库:基本:--应该是最小集,但我安装这些后还是缺少库。 libboost-dev,libevent-dev,libtool,flex,bison,g++,automake,pkg-config, libboost-test-dev libmono-dev,ruby1.8-dev,libcommons-lang-java,php5-dev全部: debhelper(>=5),build-essen
阅读全文
摘要:前言: 现在写代码,很多时候都是借鉴的别人的代码。而大家的代码风格都不同,很多时候我也会造成自己没有固定的代码风格。从网上找了这个《Google C++ 编码规范》,希望整理出自己的编码风格。 ·头文件 1.#define的保护:使用#ifndef <PROJECT>_<PATH>_<FILE>_H_,#define和#endif。 2.头文件依赖:为了减少引入更多头文件,可多使用前置声...
阅读全文
摘要:一.简介 定义:Thrift是facebook开发出的一个软件库和一组代码生成工具,以加快高效率、可扩展的后端服务的开发与实现的速度。 使用:先在一个单独的语言无关的文件中定义数据类型和服务接口,再用生成器生成代码,最后可以根据需要添加和修改生成代码(可能用到Thrift的库)。 特色:多语言支持、库和代码生成器带来的高效率。二.基础组件 包括:类型、传输、协议、版本化和处理器2.类型 2.1.基本类型:bool,byte,i16,i32,i64,double,string 2.2.结构体:使用关键字struct定义 2.3.容器:list<type>,set<type>
阅读全文