skynet框架的目录结构

前言:本人从事的是游戏行业开发,最近刚找到实习工作。在进去公司后,导师要求的是自己先学习skynet框架,话不多说开始学习。注:感谢云风大神开源的skynet框架,老规矩:所有的荣誉都属于前辈~

第一,获得skynet源码

你需要去gitHub中把源码下载下来。skynet主要由两种语言组成,一个部分是由C语言写的,偏向于底层的实现。主要目的是为了性能等。另一个是用Lua语言写的,偏向于游戏的业务逻辑编写,主要目的是为了开发效率和容易使用。而且,Lua和C语言也能很好的结合。

***注意,如何下载源代码网上有很多的教程,自己去看!***

作为程序员,这点搜索解决问题的能力应该大家都是具备的,你可能会遇到的问题:

1,如何下载安装使用git?

2,应该使用Windows还是Linux?

以上问题不作解答,以后用空再出个文章记录一下,因为太简单了

第二,分析skynet目录结构

从GitHub下载源码文件后,开始进行分析。目录结构如图:

skynet框架的目录结构

***基于源码的情况下***

3rd             ====> 存放第三方的代码,有lua和jemalloc等。

examples   ====> 框架的示例

lualib-src    ====> 使用c写的并封装给Lua使用的库。    在编译后产生:luaclib.so文件

lualib          ====> 使用Lua写的库

service-src ====> 使用c写的并封装给Lua使用的服务。 在编译后产生:cservice.so文件

service       ====> 使用Lua写的服务

skynet-src  ====> 使用c写的skynet核心代码。               在编译后产生:skynet可执行文件

test             ====> 使用Lua写的测试代码

** NO IMPORTANT【不重要的,不需要动的文件】 **

README.md  ====> 介绍怎么编译和测试Skynet许可证信息,采用MIT,很宽松的协议

LICENSE        ====> 编译规则文件,用于编译Skynet

Makefile          ====> 编译规则文件,用于编译Skynet

platform.mk     ====> 编译与平台相关的设置

核心代码为:skynet-src目录和service-src目录中的代码
剩下的基本都是为了给lua脚本使用的。

*** *** *** *** *** *** *** *** ***

说明:上面的目录文件,只是在未进行编译的情况,你进行编译后,会发生以下一些变化。【上面已经用黑体标注了】

1,lualib-src    ====> 使用c写的并封装给Lua使用的库。    在编译后产生:luaclib.so文件

2,service-src ====> 使用c写的并封装给Lua使用的服务。 在编译后产生:cservice.so文件

3,skynet-src  ====> 使用c写的skynet核心代码。               在编译后产生:skynet可执行文件

另外:在一开始的时候,下载的skynet框架里面3rd文件夹中是没有文件的。在Windows下编译,要自己下载jemalloc文件,放进3rd进行编译;在Linux下编译,则会在编译的时候,自动下载文件到放到3rd。在官方文件中也有说明~

建议:自己一定要熟悉这些目录的结构,在看到目录名称的时候,你应该就要知道这个文件夹下面的文件放的是什么,这样,你对于skynet大概的结构会清楚不少,以后再继续学习会方便很多。

下一篇则分析如何安装虚拟机,在虚拟机安装Linux,安装Git,skynet编译的环境以及一些工具的使用,lua环境的安装等,都是很基础的东西,敬请期待!