一、C++中的函数重载机制函数定义时的处理:编译器的函数符号命名机制,C++对代码进行编译时会根据函数名、参数列表(参数类型、数量、顺序)等对函数进行重新命名;函数调用时的处理:(我曾经错误理解为调用时的处理和处理函数定义时类似,通过判断参数类型来得到函数名进行调用,但是这种粗暴的方式会有很多逻辑漏洞,比如未考虑到有默认参数的函数调用,未考虑到编译器自动类型转换的函数调用等)在函数调用时,编译器如
转载 2024-04-11 15:10:11
78阅读
luac.c 是编译器 luac 的入口文件。老规矩,从 main 函数看起,看看这个过程中程序都做了些什么?int main(int argc, char* argv[]) { char* d="luac.out"; /* default output file */ int i; for (i=1; i<argc; i++) { if (argv[i]
转载 2024-03-19 20:33:08
112阅读
     Lua包库为lua提供简易的加载及创建模块的方法,由require、module方法及package表组成  1、module (name [, ···])      功能:建立一个模块。  module的处理流程:       module(name, cb1, cb2, ...)  a
转载 2024-07-18 01:49:59
95阅读
Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。What's On In Databend探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。新数据类型:BITMAP Databend 新增对 BITMAP 数据类型的支持。BITMAP 是一种压缩数据结构,可
一、Lua的介绍Lua 语音是由巴西里约热内卢天主教大学 ([Pontifical Catholic University of Rio de janeiro ) 里的一个研究小组与 1993年开发的一种轻量小巧的脚本(弱语言)语言,用标准 C 语音编写,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 作为一种扩展语言,Lua 没有“主”程序的概念:它嵌入在宿主客户端中运
因为每一版本的源码可能会有差别,现在基于lua 5.2.1来分析,保持一致性。从虚拟机的大体来看,字符串通过一个结构体存放在global_State里,这个结构stringtable(lstate.h)是:GCObject(lstate.h)的结构是:stringtable结构体的字段含义是:GCObject **hash: GCObject指针的指针,通过Hash值可以指向Hash值存
转载 2024-03-25 08:56:48
61阅读
简介:Lua中,Table是很重要的一个部分,它可以表示很多的数据结构,可以是Array,可以是Map,可以根据自己的需要实现栈,队列等等,使用起来方便分析:Table分为2部分,分别是数组Array和Hash部分。数组部分主要是存储下标从1开始的连续不为空的节点内容,如果是中间断开部分会存到hash部分。Hash部分是存储各种类型的离散数据 对于一个Table初始化的时候,如果是空表,
一    模块的介绍模块类似于'一个封装库',从Lua 5.1 开始,Lua加入了'标准的模块管理机制',可以把一些'公用的代码'放在一个'文件'里,以'API接口的形式'在其他地方调用,利于'代码的重用'和'降低代码的耦合度' 所有的'标准库'都是模块 备注: 提前加载的'所有标准库'--> math、string、...二    定义模块创建模
转载 2024-08-16 13:51:14
67阅读
一  Lua中的I/O体现'图形-->graph'、'数据库-->database'、'网络-->network'的访问 --> 与'外部交互'的机制 +++++++++++++++'I/O实现方式'+++++++++++++++ 1)由'宿主程序'实现 2)'不包括'在发行版中的'外部库实现' 备注:Lua语言只'提供了ISO C语言标准支持'的功能,
转载 2024-03-07 22:36:16
72阅读
1点赞
lua5.1开始,Lua 加入了标准的模块管理机制,Lua模块是由变量、函数等已知元素组成的 table, 因此创建一个模块很简单,就
原创 2024-01-18 15:02:50
110阅读
--编译与运行Lua外部代码块有三种形式: --loadfile 编译Lua外部代码块,但不会运行代码,将会以函数的形式返回编译结果。 --dofile 直接编译运行Lua外部代码块,并不返回任何结果。Dofile是loadfile 的进一步简化封装。 --load 编译字符串中的代码,而非从文件读取。 --[[--使用“loadfile"函数,调用lua外部脚本]] --[[ local e
转载 2024-03-19 15:46:37
82阅读
本文的环境是win7和VS2010: 1.首先到官网下载lua5.2.2源码包,并且在VS2010上新建空工程比如命名LuaCons,将源码包中的头文件和源文件都添加进去。 2.需要生成lua的动态链接库,首先去掉源文件中的lua.c,并且在vs中的属性->常规->配置类型,修改为动态库(.dll),并且在 属性->C/C++->预处理器中,添加预定义LUA_COMPAT_
转载 2024-06-08 17:16:00
112阅读
在一些应用场景中,分片条件并不存在于SQL,而存在于外部业务逻辑。因此需要提供一种通过在外部业务代码中指定路由配置的一种方式,在ShardingSphere中叫做Hint。如果使用Hint指定了强制分片路由,那么SQL将会无视原有的分片逻辑,直接路由至指定的数据节点操作。HintManager主要使用ThreadLocal管理分片键信息,进行hint强制路由。在代码中向HintManager添加的
转载 2024-05-06 17:18:04
89阅读
Lua 模块与包模块类似于一个封装库,从 Lua 5.1 开始,Lua 加入了标准的模块管理机制,可以把一些公用的代码放在一个文件里,以 API 接口的形式在其他地方调用,有利于代码的重用和降低代码耦合度。Lua模块是由变量、函数等已知元素组成的 table,因此创建一个模块很简单,就是创建一个 table,然后把需要导出的常量、函数放入其中,最后返回这个 table 就行。以下为创建自定义模
转载 2024-04-28 22:26:24
80阅读
LUA脚本组件系统 ----让LUA成为C++的子集 二脚本组件系统产生的背景、动机与意图         毫无疑问,现代游戏开发无论是规模较小的休闲手机游戏,家用机平台游戏还是大型多人在线网络游戏都涉及到数十人的团队合作,有的大型MMOG甚至涉及到数百人的合作,耗时数年开发才能完成。相对于游戏玩家来说,他们希
转载 2024-05-02 20:00:44
42阅读
第 14 章 Packages       很多语言专门提供了某种机制组织全局变量的命名,比如 Modula 的 modules,Java 和 Perl 的 packages,C++的 namespaces。每一种机制对在 package 中声明的元素的可见性以及其他一些细节的使用都有不同的规则。但是他们都提供了一种避免不同库中命名冲突的
转载 2024-04-05 13:45:54
106阅读
1.概述 Lua的module(模块)可以理解为是一个table,这个table里有一些变量、一些函数。 与Java、C++等面向对象语言的类很像,可以简单地把模块理解为类。 2.实例1 src-- --main.lua --game.lua (1)创建一个最简单的模块脚本 game.lua---------------
转载 2024-05-23 16:29:03
151阅读
lua Lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。它的主页是 www.lua.org。 Lua最著名的应用是在暴雪公司的网络游戏WOW中。 Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩
.01.编写一个简单的模块Lua模块是什么东西呢?通常我们可以理解为是一个table,这个table里有一些变量、一些函数…等等,这不就是我们所熟悉的类吗?没错,和类很像(实际上我说不出它们的区别)。 我们来看看一个简单的模块,新建一个文件,命名为game.lua,代码如下:game = {} function game.play() print("那么,开始吧"); end
转载 2024-05-11 19:33:49
157阅读
使用luarocks安装bit遇到很多问题:bit本身是由lua5.1,5.2提供,在5.3中没有提供。lua5.3提供bit32要是直接用命令,应该是luarocks install luabitop安装bit模块1.://bitop.luajit.org/download.下载库2.tar解压3.make4.make install...
原创 2022-01-25 15:09:29
560阅读
  • 1
  • 2
  • 3
  • 4
  • 5