社区
非技术区
帖子详情
Lua能不能写交互数据?
PPw)_
2018-12-16 03:08:10
想实现一段数据交互的应用。手机上识别到的文本,传入到电脑上,列表显示文本,靠lua能写出来吗。。
百度是要 C + lua ?+ html? 本人只有css+html 的基础和lua 关于C和JavaScript不熟悉。。
...全文
18
回复
打赏
收藏
Lua能不能写交互数据?
想实现一段数据交互的应用。手机上识别到的文本,传入到电脑上,列表显示文本,靠lua能写出来吗。。 百度是要 C + lua ?+ html? 本人只有css+html 的基础和lua 关于C和JavaScript不熟悉。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Lua
跟C之间
交互
Table
详细描述
Lua
和C之间相互传递Table类型
数据
/* ====================================================== */ // 遍历
Lua
传入的Table类型参数, 获取它的Key/Value, 其关键操作是
lua
_next() //
lua
_next() 返回1表示读取成功,返回0表示已经没有
数据
可读了 //
lua
_next() 会使用栈顶元素作为Key去定位本次需要取出Table里面的那个值对 // 如果Key=nil, 那就表示本次取出的是第一个元素 // 它会先将当前的这个Key弹出,然后将本次取出的Key/Value压入栈, Value在栈顶 // 一个比较隐晦的处理就是, 我们不应直接使用
lua
_tostring(L, -2)来读取Key // 因为
lua
_tostring()在Key类型不是字符串时, 它会修改栈上的Key
数据
// 这样, 下次调用
lua
_next()时, 就会因为Key被修改了而导致错误 // 为此,先调用
lua
_pushvalue(L, -2),将它Copy一份到栈顶,对这个Copy进行
lua
_tostring() // 读取Key,Value到C变量里面后,将Value和Copy弹出,留着Key在栈顶,给下次
lua
_next()用 // // 指令及栈图变化如下: (假如Table的栈下标是Index) // 0. 刚进入函数时 ...Table, ... <--- 这里栈顶 // 1.
lua
_pushnil(L) ...Table, ..., nil <--- 这里栈顶 // 2.
lua
_next(L, Index) ...Table, ..., Key, Value <--- 这里栈顶 // 3.
lua
_pushvalue(L, -2) ...Table, ..., Key, Value, KeyCopy <--- 这里栈顶 // 4.
lua
_pop(L, 2), ...Table, ..., Key <--- 这里栈顶 // ... 如此重复2,3,4 // N.
lua
_next(L, Index)返回0 ...Table, ... <--- 这里栈顶 /* ====================================================== */
Lua
和C/C++互相调用实例分析
lua
作为小巧精悍的脚本语言,易于嵌入c/c++中 , 广泛应用于游戏AI ,实际上在任何经常变化的逻辑上都可以使用
lua
实现,配合c/c++实现的底层接口服务,能够大大降低系统的维护成本。下面对
lua
和c/c++的
交互
调用做一个实例分析:
lua
提供了API用于在c/c++中构造
lua
的运行环境,相关接口如下: //创建
lua
运行上下文
lua
_State*
lua
L_newstate(void) ; //加载
lua
脚本文件 int
lua
L_loadfile(
lua
_State *L, const char *filename);
lua
和c/c++的
数据
交互
通过”栈”进行 ,操作
数据
时
Lua
与c++
交互
实战基础篇
本课程从实战角度讲解了流行的高性能脚本
Lua
与c++的联合开发,这套方案已经被大量的对性能由要求的系统使用,成为了高性能脚本的唯一方案,像大量的游戏在使用
lua
,比如魔兽世界、博德之门、仙剑奇侠传五等,高性能的视频应用也在用
lua
&c++(比如笔者的公司),还有近击败了韩国围棋的AlphaGo也是使用了 c++&
lua
;的方案。
Lua
游戏开发指南
《
Lua
游戏开发实践指南》全书一共15章:第1~3章简单地介绍了
Lua
语言的特性、授权,以及在游戏开发中的强大用途;第4~5章详细讲解了
Lua
语言的基本语法和核心要素;第6~7章讲解了
Lua
与C/C++程序的整合以及与C++的
交互
相关的技术细节;第8~9章介绍了开发前需要做的准备工作,以及如何设计
Lua
版本的实现;第10章讲解了如何使用
Lua
来处理游戏
数据
;第11章讲解了
Lua
驱动的GUI;第12章详细讲解了两个完整的游戏开发案例;第13章结合实例讲解了如何使用
Lua
定义和控制AI;第14章展示了
Lua
在图形绘制和图像处理方面的强大功能;第15章探讨了
Lua
与多媒体、
Lua
脚本的调试、
Lua
应用的资源管理以及
Lua
代码的发布等内容。
lua
+nginx动态更新配置.zip
配置为全局生效,即需对所有工作进程共享。更新频率比较慢,使用
lua
_shared_dict进行存储。如下定义:
lua
_shared_dict sysconfig 10k; 成员包括: "time":配置文件的生成的时间戳(用来判断文件是否有更新)eg:1585209315 "kxsip":与可信控制服务
数据
交互
IP地址eg:192.168.0.1 "kxsport":与可信控制服务
数据
交互
端口eg:8001 "gettokenapi":请求userID对应的token的API接口eg:https://192.168.5.4:2233/token "ssourl":SSO服务器地址eg: https://12.52.46.82:5555/login 。。。 在nginx初始化中使用init_worker_by_
lua
_file 指令创建一个循环定时器,每次超时的时候去判断配置文件是否更新了。如果更新了重新加载。 通过在工作线程中使用rewrite_by_
lua
_block指令,获取任意时刻的配置情况测试代码的可用性。
非技术区
488
社区成员
5,897
社区内容
发帖
与我相关
我的任务
非技术区
硬件使用 非技术区
复制链接
扫一扫
分享
社区描述
硬件使用 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章