LUA
文章平均质量分 71
bywayboy
C C++ Linux OpenWRT PHP WEB前端. http://www.extgui.com
展开
-
lua+libuv的一些开发心得
不断的查阅资料, 不断的学习, 阅读 lua代码. 一个人做开发其实是一个痛苦的过程,非常考验毅力和耐心。不过好在经过几个月晚上的学习积累, 已经渐入佳境。觉得有必要做一下笔记了。下面记录下踩过的一些坑。第一个坑原计划将sqlite数据库封装完全异步化的, 实现思路, 使用 uv_queue_work + 队列 来实现异步的数据库操作, 以达到利用一个独立线程来操作数据库的目的。 起初 我觉得通过 lua_newthread 创建一个线程, 然后在这个线程不和 的父线程又任何交集的情况下,应该会是线程原创 2022-04-27 02:24:40 · 631 阅读 · 0 评论 -
在LUA中使用异步IO的思考
本文介绍利用lua协程+libuv 实现异步IO的方法原创 2022-04-24 02:21:57 · 1981 阅读 · 0 评论 -
LUA中绑定C对象的3种方法
对于C 和LUA之间的对象绑定, 大致可以分为以下几种.## 1. 在整个软件生存周期都有效的对象指针.这种类型的C对象, 不用关心C对象的生存周期. 可以使用 lua upvalue 来进行绑定.```c```### 2. 不知道何时会失效的C对象.这类对象的生存周期不确定, 比如一个网络连接, 在你的程序运行的任何时间它都有可能失效(比如:连接断开了). 可以给C对象增加一个引用计数,同时使用匿名元表的方式来绑定到lua对象.```c/*绑定对象的工具函数 Lua ...原创 2021-06-19 02:57:28 · 1056 阅读 · 0 评论 -
用C为LUA写一个超迷你的模板引擎.
中午在做HTTP服务器,内嵌了LUA原创 2014-11-12 20:09:49 · 4653 阅读 · 0 评论 -
在LUA中获取各种路径.
1、获取当前路径。可以使用C语言大法。也可以使用 os库调用 cd命令。static int fmt_fs_cwd(lua_State * L){ char path[1024]; if(NULL == getcwd(path, 1023)) lua_pushinteger(L, errno); else lua_pushstring(L, path); return 1原创 2015-01-15 13:04:14 · 23122 阅读 · 3 评论 -
DIY 一个 JSON解析器。
从最早使用的C-JSON,性能没什么问题,缺点是最大只支持32层嵌套,不过可以通过修改宏来增加嵌套层数, 最近使用LUA开发服务器业务部分,找了几个JSON库,要么标准支持不尽人意,要么则是使用LUA实现的,性能无法满足要求。与其漫无目的在网络上到处寻找,不如自己动手写一个。反正这东西也不复杂。定了个简单的设计要求: 使用C语言开发,编译为LUA模块. 支持UTF-8 JSON 中一般原创 2015-07-29 23:35:39 · 2048 阅读 · 0 评论