lua
游子2022
曾子曰:“吾日三省吾身:为人谋而不忠乎?与朋友交而不信乎?传不习乎?”
展开
-
lua 调用C++动态库
Lua调用C++动态库原创 2017-07-08 19:36:56 · 3295 阅读 · 0 评论 -
Lua和C++交互详细总结
转载自:http://www.cnblogs.com/sevenyuan/p/4511808.html一、Lua堆栈要理解Lua和C++交互,首先要理解Lua堆栈。简单来说,Lua和C/C++语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。在Lua中,Lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永远表示栈底,负数索引-1转载 2017-06-13 19:41:18 · 296 阅读 · 0 评论 -
C调用Lua函数
一:lua代码部分:新建一个lua文件,命名为HelloWorld.lua,代码如下:BoyName = "jon"local like = "apple"local function Hello(name, like) print(string.format("Hello, %s!, you like %s", name, like))end里面包含了一原创 2017-07-03 09:46:17 · 1484 阅读 · 0 评论 -
VS2015中搭建lua环境
转载自:http://blog.csdn.net/pangjiuzala/article/details/52587976一.下载最新的lua版本这里我将文件解压放到D盘,D:\lua-5.3.1就是该目录。 2、启动VS2015创建新的项目1、选择【文件】—>【新建】—>【项转载 2017-07-01 18:50:16 · 3952 阅读 · 0 评论 -
如何在C++工程中配置Lua库
转载自:http://blog.sina.com.cn/s/blog_a459dcf50101q4g9.html在学习本文之前请确保已经获取运行Lua所需的库文件,如果不清楚请参考《获取Lua运行所需要的库文件》1、新建一个win32的控制台程序,名称为C++_CALL_LUA2、将Lua文件夹中的lib和include拷贝到C++_CALL_LUA根目转载 2017-07-01 12:45:32 · 402 阅读 · 0 评论 -
lua string 库
转载自:http://blog.sina.com.cn/s/blog_6d9d6d160101975u.html--lua中字符串索引从前往后是1,2,……,从后往前是-1,-2……。--string库中所有的function都不会直接操作字符串,只返回一个结果。--------------------------------------------------------转载 2017-04-19 15:19:52 · 206 阅读 · 0 评论 -
Lua的pcall函数
转载自:http://blog.csdn.net/zzh0923/article/details/12968655很多应用中,不需要在Lua进行错误处理,一般有应用来完成。通常应用要求Lua运行一段chunk,如果发生异常,应用根据Lua返回的错误代码进行处理。在控制台模式下的Lua解释器如果遇到异常,打印出错误然后继续显示提示符等待下一个命令。如果在Lua中需要处理错误,需要转载 2017-04-18 13:04:48 · 3398 阅读 · 0 评论 -
C#中使用LuaInterface
转载自:http://www.cnblogs.com/sifenkesi/p/3901831.htmlLua是一种很好的扩展性语言,Lua解释器被设计成一个很容易嵌入到宿主程序的库。LuaInterface则用于实现Lua和CLR的混合编程。CLR常用简写词语,CLR是公共语言运行库(Common Language Runtime)和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分转载 2017-04-16 10:05:46 · 4074 阅读 · 2 评论 -
lua 多个线程
调用lua_newthread便可以在一个lua状态中创建其他的线程:lua_State *lua_newthread(lua_State *L);这个函数会返还一个lua_State指针,表示新建的线程。它还会将新线程作为一个类型为"thread"的值压入栈中。例如,在执行了以下语句后:L1 = lua_newthread(L);拥有了两个线程L1和L,它们内部都引用了相同的Lu原创 2017-04-28 09:27:01 · 2009 阅读 · 0 评论 -
lua 判断是否是emoji表情
function isEmoji(newName) local len = string.utf8len(newName)--utf8解码长度 for i = 1, len do local str = string.utf8sub(newName, i, i) local byteLen = string.len(str)--编码占多少字节转载 2017-04-12 20:32:25 · 4678 阅读 · 1 评论 -
lua 的元表和元表的__index字段
众所周知,lua的继承是通过元表的__index字段来实现的,比如child类要继承自parent类,就需要把child的元表设为parent,并且要把child的元表(此时是parent)的__index字段进行设置才行。这里的设置可是是一个table,此table是任意的,不一定是父类,还可以设置为一个function。只有设置了元表的__index字段后,才是真正实现了继承,也就是在child中找不到属性或者方法,lua会从child的元表中去查找。原创 2017-02-26 14:59:03 · 1598 阅读 · 0 评论 -
基础类(1)
在C中,在堆中创建一个对象是这样的:A* c = new A(1); //堆中分配 而lua确切来说是没有对象的,lua只有table,可以当成类,而子类可以通过设置子类的元表和__index字段来实现继承。lua中子类的继承可否也这样写呢。只要稍作一点变化,完全是可以的。一:基类与派生类实现,直接上源码:1.基类module(...,package.seeall)name原创 2017-02-26 16:03:57 · 195 阅读 · 0 评论 -
require机制
为了方便代码管理,通常会把lua代码分成不同的模块,然后在通过require函数把它们加载进来。现在看看lua的require的处理流程:例如require(modename)一.首先lua会检查package.loaded表,如果package.loaded[modename]中有值,则用此值作为require的返回值,查找结束。二.若package.loaded表中找不到package原创 2017-02-25 23:22:50 · 688 阅读 · 0 评论