lua
文章平均质量分 81
小小玮
以梦为马
展开
-
lua与c互调--c调用lua
C代码:// test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include extern "C" {#include "lua.h"#include "lualib.h"#include "lauxlib.h"}#pragma comment(lib, "lua5.1.lib")lua_State* L;转载 2014-04-02 15:57:31 · 1050 阅读 · 0 评论 -
lua 与 C/C++交互
Lua5.1的常用API lua_State Lua状态机或叫Lua虚拟机,支持多线程,可创建多个状态机 typedef int (*lua_Cfunction)(lua_State* L) Lua所调用的C函数的函数原型,在C程序中需要将这种函数类型的 函数注册到Lua状态机中,此后Lua才能调用到转载 2014-06-11 10:28:01 · 938 阅读 · 0 评论 -
lua 精要
--lua定义类animal = {}animal_mt = { __index = animal;}function animal:set(year,name) self.m_name = name; self.m_year = year;endfunction animal:new(year,name) local self = {} setmetatable(self,原创 2014-07-24 10:24:06 · 658 阅读 · 0 评论 -
了解Lua语言中的_index,newindex,rawget和rawset
一、__index的理解__index是:当我们访问一个表中的元素不存在时,则会触发去寻找__index元方法,如果不存在,则返回nil,如果存在,则返回结果。Window = {}Window.prototype = {x = 0 ,y = 0 ,width = 100 ,height = 100,}Window.mt = {}function Window.new(转载 2014-07-23 17:57:25 · 1768 阅读 · 0 评论 -
深入理解Lua的全局变量_G以及源码实现
深入理解Lua的全局变量_G以及源码实现 在Lua脚本层,Lua将所有的全局变量保存在一个常规的table中,这个table被称为全局环境,并且将这个table保存在一个全局变量_G中,也就是说在脚本中可以用_G获取这个全局table,并且有_G._G == _G,在默认情况,Lua在全局环境_G中添加了标准库比如math、函数比如pairs等。可以通过下面代码,可以递转载 2014-07-23 18:31:16 · 987 阅读 · 0 评论 -
lua require
lua提供一个高层的函数“require”来加载原创 2014-06-16 11:09:40 · 873 阅读 · 0 评论 -
lua 面向对象编程
案例1:原创 2014-06-16 11:41:08 · 627 阅读 · 0 评论 -
lua struct
这两天做TCP协议,数据的传输都是二进制的,需要解释,于是用到了struct看到这样一句代码: Python代码 length = struct.unpack('>I', self.buffer[:4])[0] 当时没有明白format=">I"是什么意思,从google找了一下,有人说这个东西,可都是比较笼统,没能让我明白,于是硬着头皮看A转载 2014-11-27 16:21:16 · 4075 阅读 · 0 评论 -
lua 日期与时间操作
require 'math'require 'os'dateopt = {}dateopt_mt = { __index = dateopt }function dateopt:new() local self = {} setmetatable(self,dateopt_mt) self.year = 1970 self.month = 1 self.day = 1 sel原创 2015-05-28 11:03:01 · 1898 阅读 · 0 评论 -
lua userdata
想把C的结构[cpp] view plaincopyprint?struct Player{ WORD wChairID;int iHeroID; int iChosenHeros[16];}; struct Player{ WORD wChairID; int iHeroID; int iChosenHeros[16转载 2014-06-12 11:07:20 · 888 阅读 · 0 评论 -
lua table操作
lua_gettablelua_getglobal(L, "mytable") lua_pushnumber(L, 1) lua_gettable(L, -2) lua_settablelua_getglobal(L, "mytable") lua_pushnumber(L, 1) lua_pushstring(L, "abc") lua_settable(转载 2014-06-12 11:05:35 · 583 阅读 · 0 评论 -
lua与c互调--lua调用c
lua代码:test.luawidth=1height=2function sum(a,b) return a+bendfunction mystrcat(a,b) return a..bendfunction mysum(a,b) return csum(a,b)endc代码:// test2_1.cpp : 定义控制台应用程序的入口点。//转载 2014-04-02 16:01:10 · 674 阅读 · 0 评论 -
lua开篇
不说了,看了这两幅图片你就知道lua是值得学的东西了,是吧!!!原创 2014-04-02 18:05:00 · 593 阅读 · 0 评论 -
lua开发工具
点击下载工具包包括中文的基本教程、开发工具 和 开发库原创 2014-04-02 16:17:06 · 542 阅读 · 0 评论 -
lua 环境
lua 中用一个表:_G 存储所有环境 function set2GVAL(name,initval) rawset(_G,name,initval or nil)endfunction getFromGVAL(key) return rawget(_G,key)endset2GVAL("studentname","zhengjinwei")print(tostring原创 2014-06-23 15:24:16 · 654 阅读 · 0 评论 -
lua 数组
ID_GAILUN=1ID_ZHAOXIN=2ID_QINGNV=3cos_table={ [ID_GAILUN]={xpos=12.0,ypos=12.0,attack=100}, [ID_ZHAOXIN]={xpos=22.0,ypos=22.0,attack=100}, [ID_QINGNV]={xpos=32.0,ypos=32.0,attack=100}}for原创 2014-06-21 10:58:01 · 817 阅读 · 0 评论 -
luatinker 常用函数说明
uatinker 提供的 lua与 C++ 函数的相关接口函数 ,这样便可以屏蔽底层函数,大大提升了了开发效率,但是luatinker是韩国人写的 所以函数的说明是韩文的,所以我把经常用到函数的功能写下了,方便新手使用lua_State *l= lua_open() 建立lua栈用于和C交互 luaopen_base(lua_State*L) 打开基本函数库 lua_tinke转载 2014-07-21 16:16:17 · 2553 阅读 · 1 评论 -
lua 堆栈问题
学习LUA也有一些时日了,个人认为对于LUA中的栈的理解很重要,嗯,写个小文章(真的很小) 如果你看了LUA的文档,那么就应该很清楚LUA与C交互数据时都是用到LUA中所谓的stack。那么当我调用lua_open函数之后栈是什么样的呢?空的(luaopen_base等会往栈上加进一些东西)。那么至于如何操作栈上的数据,我想官方文档上已经说得很清楚了,不过最初我对于栈的顺序有一些迷糊,所以就说转载 2014-06-11 17:55:54 · 882 阅读 · 0 评论 -
c++ 封装luatinker
闲来无聊,把luatinker封装了一层,效果还不错,哈哈。。。。。原创 2014-07-21 16:14:20 · 2245 阅读 · 0 评论 -
lua http
lua 提供了socket.http模块,利用这个模块可以很容易地实现远程http请求:首先我们要有一个socket模块库:点击下载socket模块 然后按照步骤使用socket module:1.在桌面上创建一个文件夹:lua_http_test2.在lua_http_test文件夹中创建一个文件:test.lua 3.在lua_http_test文件中创建一原创 2015-06-08 15:38:23 · 6360 阅读 · 0 评论