您当前的位置: 首页 >  c++

phymat.nico

暂无认证

  • 1浏览

    0关注

    1967博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

跨平台 C/C++ memcached 客户端 memcacheclient 介绍

phymat.nico 发布时间:2018-01-01 03:52:58 ,浏览量:1

1、简介
     C/C++ memcached 客户端首推 libmemcached,但是其并不兼容 Windows 下 VC++ 编译器。在 google code 的 memcached wiki 有关于 memcacheclient 的简介“memcacheclient——cross-platform, but primary focus on Windows (last updated in 2008)”。在 memcacheclient 项目页面发现该项目于 2012 年更新过,值得试用。
2、环境&软件准备
      memcacheclient-2.0 : http://code.jellycan.com/files/memcacheclient-2.0.zip
3、安装&&配置
Windows
    windows,你懂的。解压,双击 sln,生成解决方案。看到 Debug 目录下面生成了 MemCacheClient.lib 就 OK 了。VS 配置一下 VC++ 目录即可。
Linux
    Linux 下,解压,make 即可。不过,原始的 Makefile 只生成 MemCacheClientTest 这么个怪东西,也就是生成个测试程序,没有生成库文件。可以替换成下面的 Makefile,用以生成静态库文件。
[plain] view plain copy
  1. CC=g++  
  2. AR=ar  
  3. ARFLAGS=-rcs  
  4. CFLAGS=-Wall  
  5. CPPFLAGS=-Wall  
  6. LIBS=-lrt  
  7.   
  8. LIB_OBJS=MemCacheClient.o ReadWriteBuffer.o Socket.o Matilda.o sha1.o  
  9.   
  10. OBJS=MemCacheClientTest.o MemCacheClient.o ReadWriteBuffer.o Socket.o Matilda.o sha1.o  
  11.   
  12. all: $(OBJS)  
  13.     $(CC) -o MemCacheClientTest $(OBJS) $(LIBS)  
  14.     $(AR) $(ARFLAGS) libMemCacheClient.a $(LIB_OBJS)  
  15.     mkdir lib  
  16.     mv libMemCacheClient.a lib   
  17.   
  18. clean:  
  19.     rm -rf core *.o lib MemCacheClientTest  
  20.   
  21. install:  
  22.     @echo No install provided. Include the source files in your project.  
  23.   
  24. MemCacheClientTest.o : MemCacheClientTest.cpp  
  25. MemCacheClient.o : MemCacheClient.cpp MemCacheClient.h  
  26. ReadWriteBuffer.o : ReadWriteBuffer.cpp ReadWriteBuffer.h  
  27. md5.o : md5.c md5.h  
 在 lib 目录生成 libMemCacheClient.a 即可。配置一下环境变量。
4、测试
MemcacheClientTest.cpp : 
[cpp] view plain copy
  1. #include   
  2.   
  3. #ifdef WIN32  
  4. # include   
  5. # pragma comment(lib, "ws2_32.lib")  
  6. #endif  
  7.   
  8. #include   
  9. //#include   
  10.   
  11. int main(int argc, char *argv[])  
  12. {  
  13. #ifdef WIN32  
  14.     WSADATA wsaData;  
  15.     int rc = WSAStartup(MAKEWORD(2,0), &wsaData);  
  16.     if (rc != 0) {  
  17.         std::cout 
关注
打赏
1659628745
查看更多评论
立即登录/注册

微信扫码登录

0.0447s