在语法分析 lua_parse 之后,调用 lua_execute 来执行语法分析生成的字节码。 虚拟机的指令是一个枚举型,就是在 opcode.h 中的 OpCode, 通过 lua_execute 中的那个 switch case 来看下指令对应的操作。 > PUSHNI...
                            
                            
                                分类:
其他好文   时间:
2014-09-14 02:38:16   
                                阅读次数:
250
                             
                    
                        
                            
                            
                                add by zhj:个人认为gevent还是更牛逼一些,当然,这只是我简单的分析,没有试验过。对比分析如下:使用Tornado,启动一个进程,N个线程使用Gevent,启动一个进程,N个协程CPU除了执行用户代码外,就是调用调用程序进行线程/协程切换。而协程切换要比线程切换的开销小,速度快,所以G...
                            
                            
                                分类:
其他好文   时间:
2014-09-14 02:32:06   
                                阅读次数:
513
                             
                    
                        
                            
                            
                                无论是 lua_dostring 或者是 lua_dofile,都调用了语法分析 lua_parse。 在 lua 里面语法分析器是用 yacc 生成的,就是y.tab.c 文件,lua.stx 就是 yacc 的输入文件。 这里说的东西基本上编译原理书里都有介绍,如...
                            
                            
                                分类:
其他好文   时间:
2014-09-14 01:28:16   
                                阅读次数:
434
                             
                    
                        
                            
                            
                                C调用Lua的流程1.创建一个Lua运行环境2.将lua程序编译并载入虚拟栈3.运行编译好的程序块4.读取运行结果到虚拟栈中5.对虚拟栈进行交互 1 /*读取lua配置文件样例*/ 2 3 char fname[]="config"; 4 float width,height; 5 //创建lua....
                            
                            
                                分类:
其他好文   时间:
2014-09-13 22:47:46   
                                阅读次数:
190
                             
                    
                        
                            
                            
                                边写边错,边错边改,边改变搜,再改,改出了些心得。可能会有错误,多包涵,接受批评。 1 ---Base.lua 2 3 Base = {} 4 5 Base.__index = Base 6 Base.value = nil 7 8 ...
                            
                            
                                分类:
其他好文   时间:
2014-09-12 18:47:13   
                                阅读次数:
193
                             
                    
                        
                            
                            
                                yield关键字用来定义生成器(Generator),其具体功能是可以当return使用,从函数里返回一个值,不同之处是用yield返回之后,可以让函数从上回yield返回的地点继续执行。也就是说,yield返回函数,交给调用者一个返回值,然后再“瞬移”回去,让函数继续运行, 直到吓一跳yield语...
                            
                            
                                分类:
编程语言   时间:
2014-09-12 18:45:03   
                                阅读次数:
281
                             
                    
                        
                            
                            
                                #!/bin/bash
if[!-d/data];then
mkdir-p/data
fi
cd/root/soft
tarzxvfnginx-lua.tar.gz
cdnginx-lua
tarzxvfLuaJIT-2.0.2.tar.gz
cdLuaJIT-2.0.2
make
makeinstallPREFIX=/usr/local/luajit
ln-sfluajit-2.0.2/usr/local/luajit/bin/luajit
exportLUAJIT_LIB=/usr/local/luaji..
                            
                            
                                分类:
其他好文   时间:
2014-09-12 15:19:23   
                                阅读次数:
179
                             
                    
                        
                            
                            
                                接着看 main 调用,在库打开之后,会调用 lua_dostring 或 lua_dofile。 lua_dostring 是从标准输入读取 lua 代码。 lua_dofile 是从文件读取 lua 代码,我们来看下这两种有什么区别。 lua_dostring 调用 lua_op...
                            
                            
                                分类:
其他好文   时间:
2014-09-12 13:38:33   
                                阅读次数:
155
                             
                    
                        
                            
                            
                                crtmpserver默认配置中没有启用rtsp服务器,需要修改以支持。buiders/cmake/crtmpserver/crtmpserver.lua中使用普通用户启动时,会报错权限问题,问题原因有待进一步考证切换到root,启动成功。使用ffmpeg将文件虚拟成rtsp流此时rtsp流名称.....
                            
                            
                                分类:
其他好文   时间:
2014-09-12 11:28:03   
                                阅读次数:
344
                             
                    
                        
                            
                            
                                先看看官方手册的说明吧:
pairs (t)If t has a metamethod __pairs, calls it with t as argument and returns the first three results from the call.
Otherwise, returns three values: the next function, the table t, a...
                            
                            
                                分类:
其他好文   时间:
2014-09-12 01:16:42   
                                阅读次数:
304