/我们在用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阅读
【IT168 技术文档】基本函数库为Lua内置的函数库,不需要额外装载 1、assert (v [, message]) 功能:相当于C的断言, 参数: v:当表达式v为nil或false将触发错误, message:发生错误时返回的信息,默认为"assertion failed!" 2、collectgarbage (opt [, arg]) 功能:是垃圾收集器的通用接口,用于操作
最近一段时间,一直在写底层驱动代码,印象最深刻的就是回调函数,因为你要将驱动封装好,接口预留,以方便给上层开发者调用。那么不再废话,立刻进入主题!1.什么是回调函数?百度百科解释:回调函数就是一个被作为参数传递的函数。在C语言中,回调函数只能使用函数指针实现其中提到了几个点: 1)作为参数传递的函数—本质是一个函数 2)函数指针—只能作为指针被调用总的意思就是将“A函数的地址”作为B函数的参数,
委托回调是刚接触c#时最头疼的东西,老看老忘,遂整理一下现在对委托回调的理解。如有错误,请指出,感谢。委托C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。 回调函数回调函数就是允许用户把需要调用的方法的指针作为参数传递给一个函数,以便该函数在处理相似事件的时候可以灵活的使用不同的方法。注意:定义的
转载
2024-04-19 14:49:33
104阅读
第一步是定义函数。所有在Lua中被调用的C/C++函数将使用下面一类指针进行调用: typedef int (*lua_CFunction) (lua_State *L); 换句话说,函数必须要以Lua解释器作为唯一的参数,并且返回一个唯一的整数。由于用一个Lua解释器作为参数,因此函数实际上能够从栈中取得任意数量的参数。在后面我们将看到,返回的整数实际上是被压入栈的值的个数。通过如此容易的封
转载
2024-10-26 09:41:40
92阅读
Android上的C/C++调用Java问题
基本上来说,在android上C/C++调用Java,和在其他平台上调用是一致的。网上一收,一大箩筐。我在这里没什么好多说明的。这里,我想谈一下,在android上,多线程C/C++调用Java要遵守的规则。最近,我在android上使用Curl库。网络通讯,我想没有同学会想使用single thr
转载
2024-10-25 07:59:54
25阅读
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阅读
这篇文章,我们将来介绍Lua何如调用C++的函数。我们来创建一个C++函数,新建一个类,命名为HelloLua,头文件的代码如下:class HelloLua:pulibc CCLayer
{
CREATE_FUNC(HelloLua);
virtual bool init();
static CCScene* scene();
static int getNumber(
转载
2024-04-09 22:23:38
56阅读
最近做一个小项目,是用Lua写的,中间用到了很多的回调,基本Cocos中的那几种常用回调都用到了,本文就针对所用到的回调函数做一个总结。 1、菜单按钮的回调这二者的回调是这么实现的,新建一个菜单或者是按钮,为了点击菜单或者按钮以后实现程序的逻辑,我们需要为菜单和按钮来绑定一个回调函数,于是乎,我们有了以下的代码: --定义菜单项的回调函数
l
本来只是单纯想实现异步加载图片的功能,恰恰发现lua竟然没有这个异步机制,于是无奈求助于C++的addImageAsync方法,但是接下来是,加载完了如果告诉lua任务完成呢,果断回调啊,但这就牵扯到了C++与lua之间的通信问题了,众所周知,lua与C++通信通过栈来处理,其实这块cocos2dx 3.0已经帮我们做好了封装,就在CCLuaEngine里面,不知道路劲?就在frame
【唠叨】 本节要讲的是如果将自己写的C++类注册进Lua环境,让Lua去调用自定义的C++类。 网上有很多都是用原始的tolua++工具来注册C++类的,我看了很多这样的教程,感觉操作起来十分麻烦,而且也很难看懂他们到底在讲什么。 其实,在cocos2dx v3.2版本中,提供了b
推荐
原创
2014-10-26 03:17:49
10000+阅读
点赞
4评论
日期作者版本说明2020.12.27Mr.ZhengV1.1可控周期性类回调函数的实现 目录声明一、可控周期性类回调函数名字的由来二、代码串介绍1.lua启动扳机代码2.lua参数交替代码3.miniC回调主体代码三、发散思维下的高级用法 声明此次新编写的可控周期性类回调函数使用了lua和miniC两种脚本式编程语言,是基于某款TFT屏软件上实现的功能,其他脚本式工控屏编程也可参考学习,希望能够给
转载
2024-04-01 01:16:45
73阅读
转载:Lua是一个嵌入式的语言,它不仅可以是一个独立运行的程序,也可以是一个用来嵌入其它应用的程序库。C API是一个C代码与Lua进行交互的函数集,它由以下几部分构成:1、 读写Lua全局变量的函数;2、 调用Lua函数的函数;3、 运行Lua代码片段的函数;4、 注册C函数后可以在Lua中被调用的函数; 在C和LUA之间交互的关键在于一
tolua++简介 tolua++工具所在目录:cocos2d-x-2.2.1\tools\tolua++, 在目录下有一个README文件,打开有关于这个工具的介绍与使用说明。 工具描述: Generating the lua<-->C bindings with tolua++, tolua++用于生成lua与C之间交互的绑定文件。&nb
转载
2024-02-26 19:06:32
198阅读
这篇文章,属于Lua和C++交互的子篇章。总篇中传入的对象...
原创
2022-11-29 20:08:01
717阅读
[cpp]
view plain
copy
1.
2. 如果参数是一个函数指针,调用者可以传递一个函数的地址给实现者,让实现者去调用它,这称为回调函数(Callback Function)。例如qsort(3)和bsearch(3)。
3. 表 24.7. 回调函数示例:void func(void (*f)(void *), void
本文为 rcfalcon 原创,转载请标明出处。作者:rcfalcon为了搞懂LUA在我们的GDEX中到底怎么用,我决定研究一下如何比较好的在WPF里封装一个基于lua的APP framework。今天先对Lua for C#进行了一次简单的封装。在C#下用过Lua的人都知道,用C#实现一个函数之后和LUA绑定,需要用到Lua类的RegisterFunctio
转载
2023-01-05 11:33:40
538阅读
# 使用 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 调用同步调用, 是一种阻塞式调用,调用方要等待对