skynet源码解析(一)——编译运行skynet

要想认识一个框架,首先要作的就是让它跑起来。linux

skynet是一款基于C跟lua的开源服务端并发框架,这个框架是单进程多线程模型,主要应用于游戏服务端领域,是lua大神云风所写的。本文不涉及框架过多的理论知识,只是简单的介绍一下如何编译以及运行skynet。git

skynet开源项目地址:github

https://github.com/cloudwu/skynetmacos

源码下载多线程

git clone https://github.com/cloudwu/skynet.git并发

因为github是国外网站,下载速度能够能比较忙,须要耐心等待。若是担忧与远程的机子断线的话,能够加个&符号,让它在后台运行,慢慢下载。app

编译以前须要安装相关的依赖库,如下依赖库没法安装的童鞋须要自行google解决。框架

yum install -y readline-devel
yum install -y autoconf网站

下载完以后,就能够开始编译google

cd skynet

这时候若是你直接make的话会报如下错误

 

 

意思就是说须要添加一个系统名称,正常通常都是linux系统

make linux
若是是mac系统
make macosx

在编译的过程,若是你的网速很慢的话,常常会遇见这样的一个问题。

fatal: unable to access 'https://github.com/jemalloc/jemalloc.git/': I/O operation timed out
fatal: clone of 'https://github.com/jemalloc/jemalloc.git' into submodule path '/app/process/skynet/3rd/jemalloc' failed
Failed to clone '3rd/jemalloc' a second time, aborting

这个意思好像就是说IO操做超时,可能就是机器网速太慢了。

正常的话编译是须要必定的时间的,若是编译成功以后就会产生如下3个新的文件,其中skynet就是咱们须要的可执行文件,这也是最核心的一个文件。

 

 

那么咱们如何验证编译的这个文件是真的没问题呢?那么咱们就须要运行一下skynet这个可执行文件。

运行可执行文件

./skynet example/config

必定要记得须要加个运行参数,这个是运行所须要的配置文件。若是能正常输出的话,就说明这个可执行文件是没有问题的。

更多精彩内容,请关注同名公众:一点月光(alittle-moon)

相关文章
相关标签/搜索