1. ev={} 2. functin ev.__call() 3. print "called from ev" 4. end 5. 6. setmetatable(ev, ev) 7. 8. -- test it 9. ev()
转载 2016-11-11 15:13:00
195阅读
2评论
从redis 2.6.0版本开始,redis内置了Lua解释器,并提供了eval命令来解析Lua脚本求值。1. 语法格式语法: eval script numkeys keys args参数: eval — redis提供解析lua脚本的命令script — lua脚本numkeys — 指定键名参数集(keys)的个数keys — 键名参数集,通过全局变量KEYS数组表示,起始下标为1args
转载 2023-08-22 13:03:00
781阅读
1、lua作为一个小巧的脚本语言,很适合做二次开发接口。比如我们开发一个业务框架,其他人写lua脚本来实现具体的功能。2、c调用lua脚本  2.1 下载lua源代码  wget http://www.lua.org/ftp/lua-5.3.4.tar.gz  2.2 解压 tar -xzvf lua-5.3.4.tar.gz  2.3  编译&n
转载 2023-11-27 15:53:41
88阅读
在学习一门语言的时候,开始的时候就是不断熟悉其提供的API函数,只有熟悉了API函数的使用,才能在里面加入自己的思想,从而发挥作用达到自己的目的。今天学习的是lua_call,和该函数相似的函数分别是lua_pcall和lua_cpcall.这些函数的目的就是让我们能够执行压入栈中的函数,该函数可...
转载 2015-01-27 18:11:00
696阅读
2评论
redis学习笔记参考文档链接:https://pan.baidu.com/s/1sMUUYR3VGZcqPmJQNWeYDA 密码:hf2nredis脚本lua语言使用lua语言写一个脚本: local times = redis.call('incr', KEYS[1]) if times == 1 then -- keys[1]键刚创建吗所以为其设置生存时间
转载 2023-05-30 15:31:51
126阅读
 本来只是单纯想实现异步加载图片的功能,恰恰发现lua竟然没有这个异步机制,于是无奈求助于C++的addImageAsync方法,但是接下来是,加载完了如果告诉lua任务完成呢,果断回啊,但这就牵扯到了C++与lua之间的通信问题了,众所周知,lua与C++通信通过栈来处理,其实这块cocos2dx 3.0已经帮我们做好了封装,就在CCLuaEngine里面,不知道路劲?就在frame
转载 10月前
93阅读
日期作者版本说明2020.12.27Mr.ZhengV1.1可控周期性类回函数的实现 目录声明一、可控周期性类回函数名字的由来二、代码串介绍1.lua启动扳机代码2.lua参数交替代码3.miniC回主体代码三、发散思维下的高级用法 声明此次新编写的可控周期性类回函数使用了lua和miniC两种脚本式编程语言,是基于某款TFT屏软件上实现的功能,其他脚本式工控屏编程也可参考学习,希望能够给
/我们在用C写程序的时候,很多情况下需要用到List,Map等集合,但是C是不原生支持这些数据结构的。碰到这种情况的话,要么自己实现一套API,要么就用别人写好的现成的类库。但是...
转载 2015-05-28 19:02:00
67阅读
2评论
如何使用CAPI存取操作Lua中的值,一组能使C与Lua交互的函数 Lua_C数据交互使用一个虚拟栈:luaStateLua和C的差异:1、Lua使用垃圾回收,C使用显式的内存释放  2、Lua使用动态类型,C使用静态类型 lua头文件介绍: lua.h定义了lua提供的基础函数,包括创建Lua环境(LuaState),调用Lua函数(lua_pcall)... lauxlib.h定
转载 2024-10-27 09:01:20
24阅读
转载:Lua是一个嵌入式的语言,它不仅可以是一个独立运行的程序,也可以是一个用来嵌入其它应用的程序库。C API是一个C代码与Lua进行交互的函数集,它由以下几部分构成:1、  读写Lua全局变量的函数;2、  调用Lua函数的函数;3、  运行Lua代码片段的函数;4、  注册C函数后可以在Lua中被调用的函数; 在C和LUA之间交互的关键在于一
转载 11月前
51阅读
lua_pcall和lua_call功能一样,只是lua_pcall提供了一个可以提供错误处理函数的功能首先压入函数 ,再依次压入参数,现在你就可以调用lua_call了,函数调用后将参数,函数都弹栈,函数返回时会将返回值依次压栈。调用前堆栈情况参数参数函数调用后堆栈情况返回值注意:无论在c函数里怎么调用栈,在pcall之后都会按函数的参数和返回值恢复栈
转载 2013-11-08 20:29:00
660阅读
2评论
【IT168 技术文档】基本函数库为Lua内置的函数库,不需要额外装载  1、assert (v [, message])  功能:相当于C的断言,  参数:  v:当表达式v为nil或false将触发错误,  message:发生错误时返回的信息,默认为"assertion failed!"  2、collectgarbage (opt [, arg])  功能:是垃圾收集器的通用接口,用于操作
1.      指针函数:指函数的返回值类型是一个指针类型,本质是一个函数,如int *function(void);返回值是int *,是一个指针;2.      函数指针:本质是一个指针,但是这个指针指向一个函数,这个指针就叫函数指针。可把函数指针传入另一个函数作为形参,实现
异步和回这两个最好还是分开来说回var b = function (){ //执行相关的代码 } var a = function (b){ //执行相关的代码 b(); } a(b);这就是回,不过一般的套路都是var a = function (callback){ if(callback&&typeof callback === 'fu
先讲下为什么会需要lua_close回吧。我用C++给lua写过不少库,其中有一些,是C++依赖堆内存,并且是每一个lua对象使用一块单独的内存来使用的。在之前,我一直都是魔改lua源代码,给lua_State结构添加新的成员来进行快速引用,并修改了lua_close的源代码,添加了回函数,使lua在对象关闭时顺便把C++分配的内存也回收掉。然而随着有相同需求的库不断增多,我随时需要调整lua
转载 2024-04-30 20:00:01
136阅读
# 使用 Lua 脚本操作 Redis 的完整指南 在现代应用开发中,Redis 是一种流行的高性能缓存存储,而 Lua 脚本则可以帮助我们在 Redis 中执行更复杂的操作。接下来,我将教你如何使用 Lua 脚本进行 Redis 操作,并通过详细的流程图和代码示例来帮助你更好地理解这一过程。 ## 操作流程 我们将通过以下步骤来实现 Lua 脚本 Redis 的操作: | 步骤 |
原创 2024-09-19 06:31:15
14阅读
一、调用和回的定义回函数有点绕,可用简单的一个案例说明:A给B打电话,问:1+1等于几? B说,我也忘了,我得想一会,想好了再告诉你。这时比较好的方式是断开电话链接,等B想好了再告诉A。于是他们挂断了电话,A又去忙别的事情,B算好了答案,给A打电话,告诉A结果等于2。上述,开始A给B打电话,后来,B想好了答案主动给A打电话的过程就是回。1.1 调用同步调用, 是一种阻塞式调用,调用方要等待对
什么是回地狱?异步的JavaScript程序,或者说使用了回函数的JavaScript程序,很难地去直观顺畅地阅读,简单说,就是函数作为参数层层嵌套。嵌套的层次多,代码的可读性低,如果嵌套了十八层就会想到十八层地狱。代码以此种形式展现时是不利于阅读与维护的。什么是回函数?一个函数作为参数需要依赖另一个函数执行调用。 回地狱的原因:试图以一种从上到下的视觉方式执行JavaScrip
  回函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回函数。回函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。 1 函数指针回调在C语言中是通过函数指针来实现的,通过将回函数的地址传给被函数从而实现回。因此,要实现回,必须
(假设你已经会使用tolua导出自定义类)首先,在C++先写一个类,里面包含这么一个函数 void registerScriptFuncHandler(int handler) { return; }   没错,这个函数什么都不用做。 接着使用 genbinding.py 导出类 你会得到一个不能用的导出函数 int lua_MyClass
  • 1
  • 2
  • 3
  • 4
  • 5