- 博客(7)
- 资源 (15)
- 收藏
- 关注
原创 Lua 加载函数require dofile loadfile
加载函数Lua把chunk(Lua把加载的一份外部代码也看作一个chunk)当作匿名函数处理,例如”a=1”.loadstring返回与其等价的function() a = 1 end。 loadfile只是在编译chunk成为自己内部实现的一个匿名函数。dofile会编译并执行,loadfile只编译代码生成中间码并且返回编译后的chunk作为一个函数,但不执行代码。 如果要运行一个文件多次,
2017-08-31 09:49:30 1648
原创 Lua 元表 元方法
元表元表,就是一个普通的Lua table,它用于初始化的设定值在特定操作下的行为。对于值的每个操作,Lua 都将其关联上一个对应的索引,当 Lua 需要对一个值发起这些操作中的一个时, 它会去检查值的元表里是否有对应索引。如果有,则索引对应的值(元方法)将控制 Lua 怎样去执行这个操作。例如,在非数字值做加法的时候,Lua本身没有内置的处理方法,那么就会检查该值元表的__add域下的函数,如果能
2017-08-22 10:51:41 554
原创 Lua 模拟面向对象
分析Lua中并不存在类的概念,但是我们可以通过使用table和元表元方法来模拟类和类的实例的特性和行为 基础:Lua的table可以存放各个类型的值,也可以存放函数(函数在Lua中是第一类值与其他值一样使用,可以被存放在变量中,也可以存放在表中,可以作为函数的参数,还可以作为函数的返回值),那么,我们就可以使用table来生成类的原型,存放类的成员值和成员变量。 Lua的元表提供了类似C++ 中
2017-08-21 21:05:31 1334
原创 Lua C++交互机制
一、Lua与C++的交互机制——Lua堆栈1)交互机制Lua和C++ 的交互机制的基础在于Lua提供了一个虚拟栈,C++ 和Lua之间的所有类型的数据交换都通过这个栈完成 栈中每个元素都能保存任何类型的Lua值(实际上Lua的任何类型的值包括字符串、表等等,最终都是以TValue这种数据结构来保存的) 当在C代码中要获取Lua的一个值的时候,只需要调用Lua API将指定值压入栈中,C再获取栈顶
2017-08-16 16:13:46 8041
原创 Qt项目crash常见原因以及解决办法
1)提示丢失Qt5Core.dll解决办法:将Qt5Core.dll所在的目录添加到Windows系统环境变量中计算机-高级系统设置-环境变量-path-添加-C:\Qt\Qt5.6.0\5.6\mingw49_32\bin2)提示缺少libstdc++-6.dll解决办法:上述目录里是否有这个dll,如果有还报错的话方法1:粗暴的将这个dll拷贝到debug或者rel
2017-08-03 20:36:41 6993
原创 C++ algorithm sort自定义排序
sort定义在#include 中默认情况下sort(a,a+n)代表从a首地址到a的尾地址按默认的从小到大排序自定义1)简单变量bool compare(类型名称 a,类型名称 b){return a>b;}按从大到小排序sort(v.begin(),v.end(),compare);2)简单结构体struct stu { int n
2017-08-03 11:41:07 19159
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人