全部博文(1493)
发布时间:2014-10-21 09:38:44
得闲研究下面几个宏!! #define offsetof(type,memb) (ssize_t)&(((type *)0)->memb); #define msleep(i) usleep((i)*1000) #define die(s) do {perror(s); exit(1);} while(0) #define fail(s) do {perror(s); return -1;} while(0) #define offsetof(type, memb) (ssize_t)&(((type *)0)->memb) .........【阅读全文】
发布时间:2014-09-25 08:59:29
1.ctags简介: “哦,这个多的文件,我该如何去查看XX函数的实现!”相信这是很多朋友的抱怨。太多的文件导致我们无法去定位一个函数的实现或者一个宏定义的位置。显然对于源码的阅读和个人的学习都是非常不利的。多么希望有一个软件能够输入命令就能够精确的定位函数的位置。.........【阅读全文】
发布时间:2014-09-25 08:59:19
为什么很多著名开源服务器都会自己写一套内存管理器?如果老板要我优化架构,要不要考虑把malloc给废了?
本文将从malloc的实现原理入手,分析malloc的缺陷,以及为什么malloc对于大型服务器来说并不是一个好的选择
然后我们会给出内存管理器设计的一般原则,并通过代码进行验证
最后是一个我自己实现的适用于大型服务器的内存管理器,融合了内核slab算法和基于非连续内存块的变长内存算法,牺牲了部分可维护性以换取超高性能......【阅读全文】
发布时间:2014-09-22 20:06:56
GDB 是 linux 系统上常用的调试工具,本文介绍了使用 GDB 调试多进程程序的几种方法,并对各种方法进行比较。GDB 是 linux 系统上常用的 c/c++ 调试工具,功能十分强大。对于较为复杂的系统,比如多进程系统,如何使用 GDB 调试呢?考虑下面这个三进程系统:进程Proc2 是 Proc1 的子进程,Proc3 又是 P.........【阅读全文】