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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM