memcached源码分析一

来源:互联网 发布:java中的引用 编辑:程序博客网 时间:2024/05/19 11:49

      memcached是一款经典的分布式内存缓存,daemon端代码都是由纯C开发,其中有很多可以学习的地方,陆续将内容加入进来(基于版本1.4.15)。

     开篇,先讲memcached的源码文件概述,看源码的文件依赖,有一个比较好的思路,那就是去看对应的Makefile.am文件(只截取之前的部分说明)。


bin_PROGRAMS = memcached     #编译的主程序名称为memcached,那下边对应的包含编译的文件包含在memcached_SOURCES
pkginclude_HEADERS = protocol_binary.h #包含的头文件
noinst_PROGRAMS = memcached-debug sizes testapp timedrun #只进行编译,不安装到目录中的程序,对应需要编译的文件包含在memcached-debug_SOURCES sizes_SOURCES testapp_SOURCES timedrun_SOURCES 


BUILT_SOURCES=

testapp_SOURCES = testapp.c util.c util.h

timedrun_SOURCES = timedrun.c

memcached_SOURCES = memcached.c memcached.h \
                    hash.c hash.h \
                    slabs.c slabs.h \
                    items.c items.h \
                    assoc.c assoc.h \
                    thread.c daemon.c \
                    stats.c stats.h \
                    util.c util.h \
                    trace.h cache.h sasl_defs.h
#使用的源码文件如上就有一个大概的了解


if BUILD_CACHE
memcached_SOURCES += cache.c
testapp_SOURCES += cache.c
endif


if BUILD_SOLARIS_PRIVS
memcached_SOURCES += solaris_priv.c
endif


if ENABLE_SASL
memcached_SOURCES += sasl_defs.c
endif


0 0