找回密码
 register
搜索
查看: 110|回复: 0

洱海月 Game2 目录结构与 Lua 扩展加载教程

[复制链接]
  • 打卡等级:本地老炮
  • 打卡总天数:533
  • 打卡月天数:22
  • 打卡总奖励:530
  • 最近打卡:2026-06-24 01:45:59
Waylee 发表于 2026-3-18 00:16 | 显示全部楼层 |阅读模式 | Google Chrome | Windows 10

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×

Game2 目录结构与 Lua 扩展加载教程

1. 这篇教程解决什么问题

很多人第一次接触这个项目时,最容易混淆下面几个目录:

  • services
  • lualib
  • lualib-src
  • luaclib
  • service-src
  • framework

尤其是看到 lualib-src 时,经常会问一句:

  • 这个目录到底是不是 Lua 脚本目录?
  • 改了这里为什么还要重新编译?
  • 它和 lualibluaclib 到底是什么关系?

这篇教程就是专门把这套关系讲清楚。

2. 先看结论

可以先记住这几句话:

  • lualib 是纯 Lua 代码目录。
  • lualib-src 是 Lua 原生扩展的 C/C++ 源码目录。
  • luacliblualib-src 编译后的 .so 动态库目录。
  • services 是业务服务入口,主要由 Lua 服务组成。
  • service-src 是 C Service 源码目录,编译后会生成 cservice/*.so
  • framework 是底层框架层,里面也有自己的一套 lualib / lualib-src / luaclib / cservice

最简单的理解方式是:

  • 写业务逻辑,优先看 Lua 目录。
  • 写底层扩展、性能模块、协议处理、地图寻路,优先看 C/C++ 扩展目录。

3. 目录关系总览

下面这张图可以先建立一个整体印象:

graph LR A["services/*.lua<br/>业务服务"] --> D["运行中的 Skynet 服务"] B["lualib/*.lua<br/>项目 Lua 库"] --> A C["framework/lualib/*.lua<br/>框架 Lua 库"] --> A E["lualib-src/*.c/*.cc<br/>项目原生扩展源码"] --> F["luaclib/*.so<br/>项目 Lua C 模块"] G["framework/lualib-src/*.c<br/>框架原生扩展源码"] --> H["framework/luaclib/*.so<br/>框架 Lua C 模块"] I["service-src/*.c<br/>项目 C Service 源码"] --> J["cservice/*.so<br/>项目 C Service"] K["framework/service-src/*.c"] --> L["framework/cservice/*.so"] F --> A H --> A J --> D L --> D

4. 每个目录是做什么的

***付费内容***

付费看帖
剩余 80% 内容需要支付 100.00 金币 后可完整阅读
支持付费阅读,激励作者创作更好的作品。
您需要登录后才可以回帖 登录 | register

本版积分规则

QQ|雪舞知识库 ( 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 )|天天打卡

GMT+8, 2026-6-24 06:38 , Processed in 0.088780 second(s), 25 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表