1. lua算术操作符lua支持的算数操作符:+-*/除^指数%取模-符号2. lua关系操作符大于= ==~=不等于3. 逻辑操作符and,or,not所有逻辑操作符将false,nil 视为假,其他视为真。>print(4 and 5)5max = (x>y) and x or y类似于C语言中...
分类:
其他好文 时间:
2014-07-03 11:11:36
阅读次数:
165
向栈中压入数据:lua_pushnil(lua_State*);lua_pushboolean(lua_State*, bool);lua_pushnumber(lua_State*, lua_Number);lua_pushinteger(lua_State*, lua_Integer)lua_p...
lua中的require机制 为了方便代码管理,通常会把lua代码分成不同的模块,然后在通过require函数把它们加载进来。现在看看lua的require的处理流程。1、require机制相关的数据和函数 package.path:保存加载外部模块(lua中"模块"和"文件"这两个概念的分界比较含...
分类:
其他好文 时间:
2014-07-01 21:02:05
阅读次数:
222
在Linux下编译Lua时,我一般都是使用的make generic,这样编译没有什么问题,运行lua的程序也都OK,但是,这样在加载外部的C动态链接库,却总是报下面的错误dynamic libraries not enabled; check your Lua installation查找了半天资...
分类:
其他好文 时间:
2014-07-01 19:59:40
阅读次数:
812
Lua提供了一组传统的,小巧的控制结构,包括用于条件执行的if,用于迭代的while、repeat和for。所有的控制结构都有一个现实的终止符号:if for while 都以end结尾,repeat以until作为结尾。控制结构中的条件表达式可以使任何的值,Lua将所有false和nil的值视为“...
分类:
其他好文 时间:
2014-07-01 12:41:38
阅读次数:
253
ngx_lua
原理
ngx_lua将Lua嵌入Nginx,可以让Nginx执行Lua脚本,并且高并发、非阻塞的处理各种请求。Lua内建协程,这样就可以很好的将异步回调转换成顺序调用的形式。ngx_lua在Lua中进行的IO操作都会委托给Nginx的事件模型,从而实现非阻塞调用。开发者可以采用串行的方式编写程序,ngx_lua会自动的在进行阻塞的IO操作时中断,保存上下文;然后将IO操作委托给Nginx事件处理机制,在IO操作完成后,ngx_lua会恢复上下文,程序继续执行,这些操作都是对用户程序透明的。 ...
分类:
其他好文 时间:
2014-07-01 08:16:48
阅读次数:
295
使用静态链接的方式
#include
#include
#include
#ifdef __cplusplus
extern "C" {
#endif
#include "lua/include/lua.h"
#include "lua/include/lauxlib.h"
#include "lua/include/lualib.h"
#pragma comment (li...
分类:
其他好文 时间:
2014-06-30 18:28:47
阅读次数:
216
编译 windows上编译lua源码
cl /MD /O2 /W3 /c /DLUA_BUILD_AS_DLL *.c
del *.o
ren lua.obj lua.o
ren luac.obj luac.o
ren print.obj print.o
link /DLL /IMPLIB:lua5.1.lib /OUT:lua5.1.dll *.obj
link /OUT:lua.ex...
分类:
其他好文 时间:
2014-06-30 18:18:38
阅读次数:
156
在这里重点介绍nginx怎样调用gearman中间件
nginx在高并发异步调用的性能够强,这地球人都知道了
lua的协程,也可以实现并发的异步调用
把这两个结合起来看看效果
先看下apache+php调用gearman的情况,同步一调用一gearman任务,假如这个任务要3S钟,那么当前这个apache的httpd进程就会被阻塞,它无法为其它客户端服务了
再来看看nginx+lua调用gearman的实现:
nginx同样是一个worker,worker进程里通过lua协程调用gearman任务,即...
分类:
数据库 时间:
2014-06-30 17:54:01
阅读次数:
542