Lua
justdoit555
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Lua5.1编程4:Lua与C交互基础
1 CAPI简介Lua与C可以有两种方式进行交互,一种是把LUA的功能作为库进行使用。另一种是在LUA中调用C库的功能,二者都可以通过CPAI的方式在LUA与C之间建立起桥梁。主要的数据结构是一个虚拟栈,大部分API均会操作栈上的值,进行数据交换。栈由Lua管理,垃圾收集器能对无用数据进行回收。CAPI的能力包括读写LUA全局变量、调用LUA函数、运行LUA代码,以及注册C函数以供LU转载 2014-07-29 09:38:26 · 522 阅读 · 0 评论 -
lua - Mac OS X环境编译C模块
我们已经看到如何在C文件中使用lua_register注册lua可以使用的函数,也了解了C函数和lua函数之间如何传递参数。再提升一步,我们还可以将一组C函数组成一个模块交给lua环境使用。看具体的例子:mylualib.c点击(此处)折叠或打开#include lua.h>#include lauxlib.h>#include lu转载 2014-08-10 19:41:18 · 728 阅读 · 0 评论 -
lua 5.2.2编译安装 LuaSocket2.02 库
之前编译安装了lua 5.2.2,下面是编译安装LuaSocket库的详细步骤。1、下载源码下载一个稳定发布版本:下载 LuaSocket 2.0.2源码:luasocket-2.0.2.tar.gz2、编译2.1 解压[html] view plaincopyprint?$ tar zxvf lu转载 2014-07-31 21:27:30 · 970 阅读 · 0 评论 -
lua5.2 改动
第三方cmodule,如使用luaL_register需要改为 luaL_newlib。如lfs库luaL_register (L, "lfs", fslib) 改为luaL_newlib(L,fslib);。这里本来第二个参数是表明,非nil是把所有接口放到一个全局变量table中,nil就是所有接口都是全局函数。现在是强制取消全局接口了。所有第三方库没有gloable的函数了,所以使用时都转载 2014-07-31 21:44:33 · 593 阅读 · 0 评论 -
LUA require 搜索路径指定方法
如果是一个 *.LUA 的文件, 里面用到了自己写的库, 或者第三方写的库, 但是你不想把它放到 lua 的安装目录里, 则在代码里面可以指定require搜索的路径。 package.path = '/usr/local/share/lua/5.1/?.lua;/home/resty/?.lua;' --搜索lua模块 package.cpath = '转载 2014-08-05 02:19:02 · 794 阅读 · 0 评论 -
lua中位运算操作
--[[ Description: FileName:bit.lua This module provides a selection of bitwise operations. History: Initial version created by 阵雨 2005-11-10. Notes: .... ]] -转载 2014-08-04 20:49:50 · 1060 阅读 · 0 评论 -
Cocos2d-x使用Luajit将Lua脚本编译为bytecode,从而实现加密
项目要求对lua脚本进行加密,查了一下相关的资料 ,得知lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,试了一下,确实可行。下面是使用原生的lua解释器编译字节码:1、新建一个名为1.lua的文件,里面只有一句话print("Hello Lua"),新建一个空的out.lua脚本文件2、开始--运行--cmd3、luac -o out.lua 1.lu转载 2014-08-04 20:43:22 · 597 阅读 · 0 评论 -
Lua调用C函数
Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性。对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数。对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (*lua_CFunction)(lua_State* L)。简单说明一下,该函数类型仅仅包含一个表示Lua环境的指针作转载 2014-08-04 15:59:23 · 390 阅读 · 0 评论 -
IOS中如何调用LUA,以及LUA如何调用IOS中的功能
下面将讲解一下如何在iOS里调用Lua函数,以及Lua函数如何调用iOS本地函数。转载请注明出处。原文出处 http://www.cnblogs.com/winewind/archive/2012/09/06/2673094.html1 lua_State *l;2 l = lua_open();lua_open 若要使用Lua,必须先初始化一个lua_State环境转载 2014-08-04 14:58:19 · 714 阅读 · 0 评论 -
lua 调用c函数
最近在用lua,笔记之.借助别人的话,lua本身是以简单优雅为本,着眼于处理那些C不擅长的任务。借助c/c++为其扩展,lua可闪现无穷魅力。如何可以,并确保"安全"的情况下直接修改 lua源码,添加位移运算符、异或运算符,修改+、-、等等,做到 make lua for yourself.还是继续lua调用c 动态库首先编译c动态库,当然并非普通的c动态库,就能转载 2014-08-04 21:55:52 · 491 阅读 · 0 评论 -
用lua获取当前脚本的路径
原理是:使用命令提示符的’cd‘命令获取当前的路径,然后写入一个tmp文件(cd.tmp)中,用lua来读取这个文件,最后删除[plain] view plaincopyprint?function currDir() os.execute("cd > cd.tmp") local f = io.open("cd.tmp", r)转载 2014-08-05 02:06:23 · 3919 阅读 · 1 评论 -
Lua5.1编程1:Lua语言基础
Lua的设计目的是依赖C的高效,并提供C所没有动态结构、高层抽象、内存回收、高阶函数等功能。Lua本身很小,功能有限,大部分功能来源于其标准库。但本身提供的简单、高效、高扩展、可移植等特性,使得在特定场景中Lua有用武之地。1 语言基础1.1 词法约定Lua语言是一种区分大小写的语言。变量命名和C一样,只能使用字母数字和下划线,数字不能位于开始。以下划线开始的变量默认为Lu转载 2014-07-29 10:59:02 · 592 阅读 · 0 评论 -
Lua脚本反编译入门之一
随着越来越多的游戏,软件采用Lua来实现业务逻辑,想搞黑产的同学,时常便会遇见lua脚本,可惜大部分都是编译过的lua脚本,而且还是自定义的。便难倒了很多菜鸟,lua 的实现机制,那可是虚拟机技术,非常难于调试。本教程,便来普及lua 的虚拟机指令及其反编译lua脚本,成为文本形式的脚本1.Lua的虚拟机指令,5.2 的有40条Lua的指令使用一个32bit的unsig转载 2014-08-04 21:31:12 · 14463 阅读 · 0 评论 -
cocos2d-x-lua工程的lua脚本加密
2014/1/26 更新最近又发现了一个很简单的方法,其实coco2dx已经给我们提供设置loader的方法。注意:有个局限性,在非android平台下调用pEngine->executeScriptFile是不调用loader的,只有require这种才会调用loader。也就是说你直接executeScriptFile("main.lua")这个脚本不能加密,main.lua里转载 2014-08-04 21:04:47 · 723 阅读 · 0 评论 -
Lua5.1编程2:Lua高级特性
1 数据结构1.1 数组对table使用数字索引,即把table当数组使用。约定数组下标从1开始。若索引中间有空洞,table并不会为空洞索引分配空间。只有当表是顺序表时,#tab返回的长度才有意义。table.maxn() 返回最大的索引值。对于非顺序表,遍历时使用pairs是一个好方法。1.2 多维数组即table的元素也是table。其能比较好的支持稀疏矩转载 2014-07-29 11:00:26 · 601 阅读 · 0 评论 -
在android应用中使用luasocket
最近接手一个移动端应用,要为其android版本扩展支持调用lua脚本解析,而且最好同时能支持luasocket。如果只是希望在android下支持lua标准库的使用,那么androLua这个开源项目就可以解决这个问题。然而在为其扩展支持三方库,如luasocket时,遇到了一些问题,经过一翻折腾,最终解决了这个问题,把折腾的过程记录下来,方便有其他相同需求的人少走弯路。转载 2014-07-29 09:31:57 · 1437 阅读 · 0 评论 -
Lua5.1编程3:Lua标准库介绍
Lua核心提供的功能很有限,大部分功能均为通过标准库来实现。1 数学库三角函数sin/cos/tan/asin/scos ...指对数函数exp/log/log10取整函数floor/ceilmax/min随机数函数random() 不带参数时返回0-1的随机小数,带整数参数则返回0-N的一个随机数random转载 2014-07-29 09:40:19 · 522 阅读 · 0 评论 -
在lua中使用C语言编写的库
因为lua比较小巧所以他本身并没有包含强大的库,但我们可以为lua扩展库,今天主要说明以下怎么在lua中使用C语言编写的库(windows下生成dll,linux下生成so),在库函数中必须包含一个luaopen_yourlibname的函数,库名可以自己定,该函数也是lua_CFunction的类型,主要作用是将你所编写的库中的函数使用lua_register函数将其注册供lua中使用。通过下面转载 2014-08-10 19:40:32 · 1024 阅读 · 0 评论
分享