orzz.org()

1. 内存池是什么 内存池(Memory Pool),是内存分配器(Memory Allocation)的一种表现形式。它以预存储的方式预先分配一大块内存(相对于每次请求的内存大小来说),使得绝大部分的内存请求只需要在已分配的大块内存上划分出一小块...

发布 3 条评论

1. 内存对齐(Data Structure Alignment)是什么 内存对齐,或者说字节对齐,是一个数据类型所能存放的内存地址的属性(Alignment is a property of a memory address)。 这个属性是一个无符号整数,并且这个整数必须是2的N次方(1、...

发布 5 条评论

我们知道,windows里有个API叫TerminateThread,它可以干掉任何正在欢快小跑的线程。对应的,liunx里则是pthread_cancel(不是pthread_kill,这玩意本质是向线程发信号,而不是杀死线程)加上PTHREAD_CANCEL_ASYNCHRONOUS。 但是我们...

发布 6 条评论

群里有个朋友要实现这么一个功能:如何在编译期把一个函数类型的参数减少一个。 简单来说,就是实现下面这个模板: remove_func_par::type; // type = void(int, long) 根据输入的编译期整数,把函数参数表里对应的参数干掉一个。 为...

发布 0 条评论

刚刚在网上闲逛,看到reddit上关于最受欢迎的代码的讨论贴,上面有一小段非常有意思的代码: unsigned int v; // to count the number of bits set in v unsigned int c; // c accumulates the total bits set in v for (c = 0; v; c+...

发布 0 条评论

在C++98/03的泛型编程中,模板实例化有个很恼人的地方。那就是连续的两个右尖括号(>>)会被编译器解释成右移操作符,而不是模板参数表的结束。 让我们来看看下面这个例子: template struct Foo { typedef T type; }; template...

发布 0 条评论

拖了又拖,终于痛下决心写这篇文了……因为自己太懒,博客里的内容一直捉襟见肘,实在是说不过去啊。 闲话少叙,还是赶快进入正题吧。 话说在C++里一直有一个比较头疼的问题,那就是在函数调用函数的时候,如何正确的传递参数。 考虑下...

发布 0 条评论

一直以来,darkc.at都是由两块不同的内容挤在一起的:一块是技术博客,一块是闲暇随笔,挤着挺不方便,老早都想把他们劈开了。 最开始没多想,因为wordpress本身是不支持多blog的,于是干脆在域名空间下建一个新的文件夹,里面放一个...

发布 0 条评论

因为一些乱七八糟的原因,我需要用mingw静态编译Qt4.8.2和Qt5.1.1。 经历了一天的折腾之后,自觉编译一下Qt还是件颇为麻烦的事情,故将过程略作总结,以备不时之需。 首先,在编译之前,我需要下载mingw、qt-everywhere-opensource-sr...

发布 0 条评论