什么是LuaJIT标准 Lua 出于性能考虑,也内置了虚拟机,所以 Lua 代码并不是直接被解释执行的,而是先由 Lua 编译器编译为字节码(Byte Code),然后再由 Lua 虚拟机执行。LuaJIT 的解释器会在执行字节码的同时,记录一些运行时的统计信息,比如每个 Lua 函数调用入口的实际运行次数,还有每个 Lua 循环的实际执行次数。当这些次数超过某个随机的阈值时,便认为对应的 Lua
转载 8月前
196阅读
Preface     当LUA脚本调用我们注册的C函数时,我们需要逐个地从LUA栈里取出调用参数,当函数返回时,又需要一个一个地往LUA 栈压入返回值,并且我们注册的函数只能是int()(lua_State*)类型。这很不方便,对于上层程序员来说更不方便。     因此我们要做的是,实现一个绑定器,可以把任意prototype的函数绑
转载 2024-08-24 09:22:08
65阅读
今天发现Luminance和illuminance两个词看的我一愣一愣的,于是立即决定复习一下颜色科学中的术语。以下全文转自网络。光源发出光的量称为光通量,而在某方向上光的分布密度称为发光强度,照度为光落在物体表面的密度,而我们所见的并非照度,而是该物体所反射的亮度。光度计量中以坎德拉为SI基本单位,而流明、勒克斯等均为导出单位。这些照明常用术语的定义如下:光通量 (Luminous flux,Φ
 目录 1.简介2.定义3.示例示例1示例24.应用1.记忆(缓存)函数示例1示例22.设置表的默认值1.简介1)lua的GC默认是自动回收的,当一个对象的引用计数为0时,它就会被GC所回收。2)lua中的表默认是强引用的,当你把某个对象放入表中时,就是生成一个对它的强引用(对象的引用计数+1),在对象的引用计数没有为0之前不会被GC回收;3)如果把一个表声明为弱引用,则当把某
LuaJIT的功能 Linker 翻译此文只为了提供更多信息. LuaJIT试图保留Lua的精髓--轻量级,高效和可扩展. 功能 所有的函数缺省会被JIT(即时编译器)编译到本地机器码: * 没有被使用的函数不会被编译. * 可以选择性打开和关闭即时编译函数,子函数甚至整个模块. * 需要解析的函数(译注:即没有被编译的函数)和编译过的函数可以自由的混合使用. 预编译(Ahead
前言 和在所有其他编程语言中一样,在Lua中,我们依然应当遵循下述两条有关程序优化的箴言: 原则1:不要做优化。 原则2:暂时不要做优化(对专家而言)。 这两条原则对于Lua编程来说尤其有意义,Lua正是因其性能而在脚本语言中鹤立鸡群。 当然,我们都知道性能是编程中要考量的一个重要因素,指数级时间复杂度的算法会被认为是棘手的问题,绝非偶然。如果计算结果来得太迟,它就是无用的结果。因此,每一个优秀的
转载 2024-03-18 17:07:12
211阅读
前言对于Lua的基础总结总算告一段落了,从这篇博文开始,我们才真正的进入Lua的世界,一个无聊而又有趣的世界。来吧。 Lua语言是一种嵌入式语言,它本身的威力有限;当Lua遇见了C,那它就展示了它的强大威力。C和Lua是可以相互调用的。第一种情况是,C语言拥有控制权,Lua是一个库,这种形式中的C代码称为“应用程序代码”;第二种情况是,Lua拥有控制权,C语言是一个库,这个时候C代码就是
Lua 的协程 coroutine 控制 Codea 屏幕刷新速度概述在 Codea 中, 函数 draw() 缺省每秒执行 60 次, 我们希望能修改一下它的刷新速度, 于是想到了 Lua 的一个特性:协程 coroutine, 希望试着用它来控制程序执行的节奏, 不过目前对于协程还不太了解, 那就一边看教程, 一边试验好了.Codea 运行机制我们知道, Codea 的运行机制是这样的
转载 2024-06-18 18:14:53
51阅读
Lua学习笔记四通过上一节的知识,我们学会了如何利用表来作为参数,这样我们能实现的功能更多了。但是有一点是没有涉及到的,那就是返回值,而返回值的讨论不能不提userdata类型。本节的目的:讨论如何处理Lua返回值和Userdata类型的应用。   现在我可以在脚本中写下“CreateWindow{x=0,y=0,w=1024,h=768} ”这样的语句来控制程序在内
文章目录Lua预编译资源使用 Lualuajit其他语言关于JITIOS 和 JITIOS 和 jit 的后话 LuaLua是一门轻量级的脚本语言,使用C语言编写,编译器和解释器也是C语言编写。下载资源:源码 http://www.lua.org/ftp/预编译好的Lua库和编译器 http://luabinaries.sourceforge.net/预编译资源下载第二个预编译好的lua资源(w
转载 2024-03-21 20:24:26
33阅读
This tutorial demonstrates how to pre-compile Lua modules into LuaJIT bytecode. This can help reduce the startup time of an OpenResty application.1234export PATH=/usr/local/openresty/bin:$PATHcd ~mkdi
原创 2021-05-28 22:13:18
2443阅读
windows:方式1:打开官网链接:http://www.lua.org/download.html标记1:会直接下载源码,可通过Visual Studio编译生成所需要的lua.exe, luac.exe, lua.lib等标记2: 可用于在Mac上配置lua的命令环境标记3: 可直接获取到指定版本的lua.exe,luac.exe等,如果在windows的cmd中调用,需要手动配置lua相关
转载 2024-08-23 11:25:00
185阅读
文|大东BE近日,有开发者提交了一个 VSCode 内存泄露的 issues,该问题导致在某些情况下使用 VSCode 会使内存使用率攀升。令人意外的是,VSCode 官方却表示不打算解决此问题,由此在社区引发了争议。 今年十月,有一名开发者发现了 VSCode 中存在内存泄漏的问题,并在官方仓库的 issues 中提交了这个问题: 1. 准备一个大文本文件(Citylots.json为〜190M
Lua5.3已经发布好长时间了,可是因为LuaForWindows的Lua版本无法和官方保持一致,所以想尝试下编译Lua5.3的源代码,因为作为一名合格的程序员,是应该要懂得编译原理的相关内容的啊(可是我真的没有学过编译原理啊!…..)。好了,那么今天博主将在文章中和大家分享自己编译Lua5.3的过程,希望能够对大家学习和使用Lua有些帮助吧! 我们知道Lua由三部分组成,即  *
转载 3月前
362阅读
n Lua介绍 Lua是一个高效、简洁、轻量级、可扩展的脚本语言,可以很方便的嵌入到其它语言中使 用,Redis从2.6版支持Lua。n 使用脚本的好处 1:减少网络开销 2:原子操作:Redis会把脚本当作一个整体来执行,中间不会插入其它命令 3:复用功能n Lua的使用步骤1:创建一个.lua结尾的文本文件 例如(test.lua)2:redis-cli --eval test.lua 执行这
转载 2024-02-24 11:20:07
75阅读
安装GCC编译器:流程如下: 1.Win系统下的GCC编译器目前用的比较多的是MinGW,MinGW64,TDM-GCC。而MinGW是针对32位Win系统且更新慢;TDM-GCC针对32&64位Win系统且更新慢;MinGW64针对64位Win系统且更新快;鉴于现在的Win系统都是64位以及GCC更新快的因素,我这里选择用MinGW64。2.MinGW64的安装是比较麻烦的,因为它是从镜
转载 2024-05-13 03:31:35
82阅读
local _Tab = {[1] = "Hello Lua",x = 10} --通过点调用一个普通的方法 function _Tab.BasicFu
原创 2022-09-23 17:06:28
109阅读
       为何要在多个lua虚拟机间共享table呢, 因为lua是不支持真正的多线程的,Lua中的协程其实也是在单线程中运行的。所以为了发挥cpu的最大性能,我们需要通过多线程异步执行一些任务。这些任务线程是不会阻塞lua虚拟机线程的执行。当异步线程执行完成之后就需要把数据或者消息传递给主线程lua虚拟机。 当然数据的传递有很多种方式,比较常见的就是直
lua中,字符串的第一个字符的索引是1,也可以使用负数索引,这样将从字符串的尾部开始计数,索引-1代表字符串最后一个字符。 %a+ (alphabet)字母 +表示匹配一个或者多个 %c 控制字符 %d 数字 %l 小写字母 %p 标点字符 %s 空白字符 %u 大写字母 %w 字母
转载 2024-08-30 13:21:46
68阅读
一颗璀璨的月光宝石——Lua Lua语言简介 1993 年在巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro in Brazil)诞生了一门编程语言,发明者是该校的三位研究人员,他们给这门语言取了个浪漫的名字——Lua,在葡萄牙语里代表美丽的月亮。事实证明她没 有糟蹋这个优美的单词,Lua语言正如它名字所预示的那样成长为一门
转载 2024-08-20 13:47:27
65阅读
  • 1
  • 2
  • 3
  • 4
  • 5