skynet框架的目录结构
前言:本人从事的是游戏行业开发,最近刚找到实习工作。在进去公司后,导师要求的是自己先学习skynet框架,话不多说开始学习。注:感谢云风大神开源的skynet框架,老规矩:所有的荣誉都属于前辈~
第一,获得skynet源码
你需要去gitHub中把源码下载下来。skynet主要由两种语言组成,一个部分是由C语言写的,偏向于底层的实现。主要目的是为了性能等。另一个是用Lua语言写的,偏向于游戏的业务逻辑编写,主要目的是为了开发效率和容易使用。而且,Lua和C语言也能很好的结合。
***注意,如何下载源代码网上有很多的教程,自己去看!***
作为程序员,这点搜索解决问题的能力应该大家都是具备的,你可能会遇到的问题:
1,如何下载安装使用git?
2,应该使用Windows还是Linux?
以上问题不作解答,以后用空再出个文章记录一下,因为太简单了
第二,分析skynet目录结构
从GitHub下载源码文件后,开始进行分析。目录结构如图:
***基于源码的情况下***
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环境的安装等,都是很基础的东西,敬请期待!