1.一个简单的单例类:
class Singleton
{
public:
static Singleton *getInstance()
{
if(pInstance_ == NULL){
mutex_.lock();
if(pInstance_ == NULL){
...
分类:
其他好文 时间:
2014-09-27 14:43:19
阅读次数:
132
忽然想起前几天在公司看到一篇关于内存管理的文章,但当时由于别的事情给打断了。今天想起来,就又在网上找了一下,与大家分享一下。
虽然自己现在从事内核模块开发,对内存池和引用计数也有所了解,但由于理解深度及文笔,不能自己娓娓道来,所以就和大家一起来瞻仰一下大师给我们的讲解。
以下内容来自于http://www.ibm.com/developerworks/cn/linux/l-memory/...
分类:
系统相关 时间:
2014-09-27 14:18:39
阅读次数:
242
在C/C++ 中常用的内存分配和管理的方式有很多,如智能指针, STL容器, new/delete, malloc/free, brk, sbrk等等,最近研究了一下Unix比较底层的一种内存管理方式mmap/munmap,需要完全自己来维护分配的虚拟内存,没有任何其他辅助的数据结构来帮助维护内存空间。
一、在终端里输入 man mmap 可以查看此函数的API文档,此函数的具体描述如下:
v...
分类:
编程语言 时间:
2014-09-27 13:55:09
阅读次数:
799
auto_ptr是常用的智能指针,其实现很简单,源代码也很短,但是中间有个代理类auto_ptr_ref用的很巧妙,值得学习。...
分类:
其他好文 时间:
2014-09-27 12:54:09
阅读次数:
183
Boost是什么不多说, 下面说说怎样在Linux下编译使用Boost的所有模块.
1. 先去Boost官网下载最新的Boost版本, 我下载的是boost_1_56_0版本, 解压.
2. 进入解压后目录: cd boost_1_56_0, 执行下面的命令:
$ ./bootstrap.sh --prefix=path/to/installation/prefix
prefix的...
分类:
系统相关 时间:
2014-09-26 20:56:08
阅读次数:
340
缓冲区函数包装
纵观所有代码你会发现:无论什么时候,当我们需要对一个buffer进行读写操作时,代码会把实际的缓冲区对象包装在一个buffer()方法中,然后在把它传递给方法调用...
分类:
编程语言 时间:
2014-09-26 20:53:28
阅读次数:
177
今天我们就开始boost的日期处理部分,日期有太多需要细细考虑的地方,遇到日期处理问题时,自己写一个处理类,那显然是极其耗时的。学习了今天的内容之后,相信我们在日期处理时将更加得心应手。今天我们学习的是boost日期处理的核心类——date。同样,下面我们从代码入手进行学习:
#include
#include
int main()
{
boost::gregorian::date...
分类:
其他好文 时间:
2014-09-26 19:42:48
阅读次数:
146
Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调...
分类:
其他好文 时间:
2014-09-25 19:23:37
阅读次数:
216
因接入平台,平台提供的是一个字符串的key作为用户标识,而且要用到分布式,所以没法用以前的数据库递增来做用户ID,于是用CRC64来生成uint64_t来作为用户ID,做法也比较简单。如下:赌王娱乐城 std::map xLongMap; char szTemp[128] = {0...
分类:
其他好文 时间:
2014-09-25 19:17:17
阅读次数:
123
在C++中,智能指针是一个非常重要的概念。因为C++的类动态分配的对象不能自动释放掉,需手动调用new运算符。当程序员大意时,或程序发生异常时,或许就会发生没有手动释放内存而造成内存泄露。
智能指针的定义:就是在一个类中,存在一个指向另一个类对象的指针,并通过对指针运算符(比如:->,*)的重载,就可以实现利用当前类的对象通过指针运算符来操纵另一个类的成员(就像另一个类的指针操作一样),并且,在析构函数中定义了delete操作,借助于变量的作用域,能够实现类对象空间的自动释放。
在C++ 11中,有...
分类:
编程语言 时间:
2014-09-25 17:04:39
阅读次数:
212