Xmake v2.7.3 發布,包組件和 C++ 模組增量構建支援

  • 2022 年 11 月 8 日
  • 筆記

Xmake 是一个基于 Lua 的轻量级跨平台构建工具。 它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。 它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中 …

Continue Reading

#Lua:Lua調用C++生成的DLL庫

  • 2022 年 9 月 24 日
  • 筆記

Lua调用C++生成的DLL库 本文参考了某大佬的 博客 ,写得十分详细,推荐!!! 需求: 在之前的求解器中添加了Lua库,使得程序可以在Lua脚本中实现自定义函数功能,考虑到未来可能需要与第三方程序库进行耦合计算,现在想到可以借助Lua脚本,在脚本中调用第三方动态库,以实现其功能的扩展。接下来将 …

Continue Reading

Lua CallbackHell優化

  • 2022 年 9 月 15 日
  • 筆記

概述 在异步操作中,常常要使用回调。但是,回调的嵌套常常会导致逻辑混乱,一步错步步错,难以维护。在Lua中,可以使用协程进行优化。 问题分析 模拟一个回合制游戏攻击过程 local function PlayAnim(anim, cb) print("开始播放 " .. anim) os.execu …

Continue Reading

Lua 支援虛函數的解決方案

  • 2022 年 9 月 13 日
  • 筆記

概述 lua本身没有提供类似C++虚函数机制,调用的父类方法调用虚函数可能会出现问题。 问题分析 分析这段代码和输出 local Gun = {} -- 示例,实际应用还要考虑构造,虚表等情况 function LuaClass(Class, Parent) setmetatable(Class, …

Continue Reading

Redis 定長隊列的探索和實踐

vivo 互联网服务器团队 - Wang Zhi 一、业务背景 从技术的角度来说,技术方案的选型都是受限于实际的业务场景,都以解决实际业务场景为目标。 在我们的实际业务场景中,需要以游戏的维度收集和上报行为数据,考虑数据的量级,执行尽最大努力交付且允许数据的部分丢弃。 数据上报支持游戏的维度的批量上 …

Continue Reading

Lua5.4源碼剖析:二. 詳解String數據結構及操作演算法

概述 lua字符串通过操作算法和内存管理,有以下优点: 节省内存。 字符串比较效率高。(比较哈希值) 问题: 相同的字符串共享同一份内存么? 相同的长字符串一定不共享同一份内存么? lua字符串如何管理内存? 数据结构 lua字符串TString typedef struct TString { C …

Continue Reading

【遠程文件瀏覽器】Unity+Lua開發調試利器

  • 2022 年 4 月 19 日
  • 筆記

Remote File Explorer 是一个跨平台的 远程文件浏览器 ,用户通过Unity Editor就能操作运行在手机上的游戏或是应用的的目录文件。比如当项目打包运行到设备上时,可通过 Remote File Explorer 直接浏览设备上的目录文件,并进行下载,上传,删除等操作。尤其是U …

Continue Reading

Lua中如何實現類似gdb的斷點調試—09支援動態添加和刪除斷點

  • 2022 年 3 月 16 日
  • 筆記

前面已经支持了几种不同的方式添加断点,但是必须事先在代码中添加断点,在使用上不是那么灵活方便。本文将支持动态增删断点,只需要开一开始引入调试库即可,后续可以在调试过程中动态的添加和删除断点。事不宜迟,我们直接进入正题。 源码已经上传 Github ,欢迎watch/star😘。 本博客已迁移至 Ca …

Continue Reading

Lua中如何實現類似gdb的斷點調試—08支援通過包名稱添加斷點

  • 2022 年 3 月 15 日
  • 筆記

在前一篇中我们支持了通过函数名称来添加断点,我们同时也提到了在Lua中一个函数的名称的并不是确定的。准确的说,Lua中的函数并没有名称,所谓名称其实是保存这个函数值的变量的名称。 于是通过函数名称添加断点就造成了一定的不确定性,因为函数被调用时并不一定是以这个名字被调用的。另外,多个不同的函数也可能 …

Continue Reading

Lua中如何實現類似gdb的斷點調試—07支援通過函數名稱添加斷點

  • 2022 年 3 月 14 日
  • 筆記

我们之前已经支持了通过函数来添加断点,并且已经支持了行号的检查和自动修正。但是通过函数来添加断点有一些限制,如果在当前的位置无法访问目标函数,那我们就无法对其添加断点。 于是,本篇我们将扩展断点设置的接口,支持通过函数名称添加断点,以突破这个限制。 源码已经上传 Github ,欢迎watch/st …

Continue Reading