设为首页 收藏本站
查看: 1214|回复: 0

[经验分享] Windows下编译memcached-1.4.5(32bit和64bit) .

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-2 08:45:33 | 显示全部楼层 |阅读模式
  作者:徐兆元(FLxyzsby@163.com)
1.简介
  Memcached 是一个高性能的分布式内存对象缓存系统。它通过将数据缓存在内存中来减少对数据库和文件系统的访问,减轻数据库及操作系统的负担,提高应用系统的速度。
  目前已经很多系统应用了memcached,其最新版本为memcached-1.4.5。随着硬件技术的不断提升,应用高性能服务器的场合越来越多,特别是64位系统。另外memcached是可跨平台的,这就需要我们经常会在32与64位系统,各种操作系统下编译memcached。
  Memcached官方网站是http://www.memcached.org/。大家下载的最新稳定版memcached-1.4.5可以在LINUX和UNIX下顺利编译。如何在Windows下编译会导致很多人疑惑。
  本文介绍如何在Windows系统下编译memcached-1.4.5,供同行参考。
2.编译目标和环境
  目标:编译能在Intel® Xeon X7560/Windows Server Enterprise 2008 SP2(64bit) 系统下运行的memcached-1.4.5.exe
  使用计算机和软件列表:
  编译机:PC/Windows Server 2003 Enterprise Edition SP2(32bit)
  编译器:64位gcc编译器
  编译平台:msys/ mingw-w64
3.软件下载准备
  msys:
  下载MSYS-1.0.11.exe
  下载地址:http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe
  mingw-w64:
  下载:mingw-w64-bin_i686-mingw_20110516.zip
  下载地址 http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Automated%20Builds/
  
  注:这里下载的是64位的gcc编译包,如果要编译32位平台请下载mingw-w32-bin_i686-mingw_20110516.zip。另外要说明的是MinGW64和MinGW开源项目并不是一个项目,前者是一个新项目,旨在把MinGW迁移到64位平台下。
  memcached-1.4.5:
  下载我修改后的memcached-1.4.5的包。其中包含memcached-1.4.5、libevent-2.0.11-stable、pthreads-w32-2-8-0-release(时间匆忙,没下载到64位的pthreads,大家如果下载到,可以稍微修改下替换压缩包里面的pthreads-w32-2-8-0-release)代码。
  下载地址:http://download.iyunv.com/source/3291154
  已编译好的可执行文件:http://download.iyunv.com/detail/flxyzsby/3941243
  
4.安装编译环境
  (1)安装MSYS-1.0.11.exe
  MSYS,即Minimal GNU(POSIX)system on Windows,是一个小型的GNU环境,包括基本的bash,make等等。是Windows下最优秀的GNU环境。
  
  
  


  安装完之后,在菜单和C盘下可以分别看到



  此时,从菜单打开MSYS打开或者直接打开msys.bat可以看到如下运行界面
  

  执行gcc –v,出现无法找到命令,因为我们还未安装gcc编译器。

  
  
  (2)配置参数
  打开文件夹C:/msys/1.0/etc,找到fstab文件,如果没有,可以将fstab.sample重命名为fstab。找到行
  c:/mingw        /mingw
  修改为
  c:/msys/1.0/mingw/              /mingw
  如果已经是修改后的设置,则不要动。
  
  (3)安装编译环境
  解压缩mingw-w64-bin_i686-mingw_20110516.zip
  拷贝其中的所有文件夹
  bin
  include
  lib
  libexec
  mingw
  share
  x86_64-w64-mingw32
  拷贝到C:/msys/1.0/mingw
  然后将C:/msys/1.0/mingw/mingw下所有文件夹拷贝C:/msys/1.0/mingw,选择覆盖。
  此时打开MSYS控制台
  输入gcc –v,会显示如下信息
  $ gcc -v
  Using built-in specs.
  COLLECT_GCC=C:/msys/1.0/mingw/bin/gcc.exe
  COLLECT_LTO_WRAPPER=c:/msys/1.0/mingw/bin/../libexec
  0/lto-wrapper.exe
  Target: x86_64-w64-mingw32
  Configured with: http://www.cnblogs.com/../build/gcc/src/configure --
  prefix=/c/bb/vista64-mingw32/mingw-x86-x86_64/build/
  /bb/vista64-mingw32/mingw-x86-x86_64/build/build/roo
  -c++ --enable-fully-dynamic-string --disable-multili
  Thread model: win32
  gcc version 4.7.0 20110516 (experimental) (GCC)
  从中我们看到,gcc编译的目标目标平台为x86_64-w64,即64位系统。
5.编译memcached-1.4.5
  (1)将下载的memcached_1.4.5_win解压缩到C:/msys/1.0/memcached目录下
  

  (2)打开msys控制台切换到C:/msys/1.0/memcached目录下,执行./ build.sh
  

  (3)执行./ build.sh后,进行编译。编译完成后,会bin目下看到编译后的结果。


  memcached-1.4.5.exe是一个完整可执行文件,不需要任何库文件(为了方便已经将库文件等集成到exe中)。将你的成果放到Windows Server Enterprise 2008 SP2(64bit)看看效果即可。因为目标系统是64位,所以在32位系统上执行可能会报如下错误。
  
  
  时间有限,写的比较匆忙,如果有问题,可以联系我。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-108549-1-1.html 上篇帖子: ASP.NET Caching vs. memcached: Seeking Efficient Data Partitioning, Lookup, and 下篇帖子: Windows平台编译memcached 1.2.6
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表