一、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外部代码块有三种形式: --loadfile 编译Lua外部代码块,但不会运行代码,将会以函数的形式返回编译结果。 --dofile 直接编译运行Lua外部代码块,并不返回任何结果。Dofile是loadfile 的进一步简化封装。 --load 编译字符串中的代码,而非从文件读取。 --[[--使用“loadfile"函数,调用lua外部脚本]] --[[ local e
转载 2024-03-19 15:46:37
82阅读
在一些应用场景中,分片条件并不存在于SQL,而存在于外部业务逻辑。因此需要提供一种通过在外部业务代码中指定路由配置的一种方式,在ShardingSphere中叫做Hint。如果使用Hint指定了强制分片路由,那么SQL将会无视原有的分片逻辑,直接路由至指定的数据节点操作。HintManager主要使用ThreadLocal管理分片键信息,进行hint强制路由。在代码中向HintManager添加的
转载 2024-05-06 17:18:04
87阅读
lua Lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。它的主页是 www.lua.org。 Lua最著名的应用是在暴雪公司的网络游戏WOW中。 Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩
使用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阅读
使用luarocks安装bit遇到很多问题:bit本身是由lua5.1,5.2提供,在5.3中没有提供。lua5.3提供bit32要是直接用命令,应该是luarocks install luabitop安装bit模块1.http://bitop.luajit.org/download.html下载库2.tar解压3.make4.make install...
原创 2021-07-09 14:55:27
1138阅读
目录1、博客介绍2、内容含义:“:”声明方法并采取“:”的形式调用:“:”声明方法并采取“.”的形式调用:“.”声明方法并采取“.”的形式调用:“.”声明方法并采取“:”的形式调用:3、推送4、结语 1、博客介绍 本篇博客作为Lua学习笔记之一,介绍关于方法中“.”和“:”的用法和不同含义,我们知道在声明方法的时候可以采用“.”或者“:”的写法,同时在调用方法的时候,也可以采用
转载 2024-05-05 19:14:05
53阅读
文章目录luarocks安装使用例子luafilesystempenlightldoc使用规则 luarocksluarocks是一个用lua写的包管理工具,类似Mac的终端工具brew,Ubuntu的apt。可以通过luarocks config来查看当前的配置,可以通过Options中的选项修改配置,使用就看Commands。安装$ wget https://luarocks.org/rel
转载 2024-02-19 08:21:31
522阅读
前言:编译实践系列将以lua的词法,语法和语意为标准,用C++实现lua的解释器,这其中也会参考lua解释器官方实现,但重点在于理清编译系统的基本框架和每个环节最基本的实现。 一般的编译系统结构:1 从源码文件读入字符,词法分析阶段即按给定的标准(标识符,分隔符,数字)组装成token,进而形成token流;2 语法分析阶段,会将token按照编程语言给定的语法模式,组合成节点,最后形成抽象语法树
转载 2024-04-25 11:09:37
34阅读
文章目录说明1.大小端概念2.各自的优势3.现阶段大小端模式的使用情况[^1]4.测试所用设备的数据存储方式4.1 使用union测试机器大小端4.2 使用指针测试5.大小端的转换 说明为什么会关心大小端问题 ?在控制系统中,由于CPU架构以及编译器等因素决定了数据的存储方式,不同的存储方式,其数据的发送/解读方式需要使用响应的方法。因此,在数据传输时,我们有必要弄清楚两台或多台设备的存储方式是
长时间的出差导致都没有时间去学习了,不得不说学习这个事情是需要一个安静跟稳定的环境的。 现在我们继续我们的学习过程,来看一下lua的string库。 首先声明一下Lua 字符串内部用来标识各个组成字节的下标是从 1 开始的,这不同于很多编程语言。string.sub(str, 3, 7) 直接表示从第三个字符开始到第七个字符(含)为止的子串。 接下来我们学习一下库函数:1.string.by
转载 2024-03-22 19:24:13
69阅读
定义一个16进制数,可以给数值的每位赋值或取值
原创 2022-12-06 15:14:36
233阅读
在学习MySQL手册时,看到根据天数计算访问量时,出现了BIT_COUNT()和BIT_OR()两个函数来处理天数计算的问题所使用的表格信息如下:mysql> select year,month,day from t1;+------+-------+------+| year | month | day |+------+-------+------+| 2000 | 01 | 01 ||
转载 精选 2014-09-29 15:06:50
2243阅读
在学习MySQL手册时,看到根据天数计算访问量时,出现了BIT_COUNT()和BIT_OR()两个函数来处理天数计算的问题所使用的表格信息如下:mysql> select year,month,day from t1;+------+-------+------+| year | month | day  |+------+-------+------+| 2000 |&nbsp
转载 精选 2015-06-02 10:14:33
621阅读
  • 1
  • 2
  • 3
  • 4
  • 5