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

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

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

skynet开源项目地址:

https://github.com/cloudwu/skynet

源码下载

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

由于github是国外网站,下载速度可以能比较忙,需要耐心等待。如果担心与远程的机子断线的话,可以加个&符号,让它在后台运行,慢慢下载。

编译之前需要安装相关的依赖库,以下依赖库无法安装的童鞋需要自行google解决。

yum install -y readline-devel
yum install -y autoconf

下载完之后,就可以开始编译

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)

posted on 2021-03-15 23:21  一点sir  阅读(1344)  评论(0编辑  收藏  举报

导航