如何避免Go变量被GC 时间: 2021-06-15 | 分类: go | 阅读: 984 字 ~2分钟 Illustration created for “A Journey With Go”, made from the original Go Gopher, created by Renee French. 本文基于 Go 1.13。 在 Go 中,我们不需要自己管理内存分配和释放。然而,有些时候我们需要对程序进行更细 阅读全文 »
分布式锁实现原理与最佳实践 时间: 2021-06-15 | 分类: 分布式 cs 面试 | 阅读: 2224 字 ~5分钟 分布式锁实现原理与最佳实践 分布式锁应用场景 很多应用场景是需要系统保证幂等性的(如api服务或消息消费者),并发情况下或消息重复很容易造成系统 阅读全文 »
lua源码注释lcode.c 时间: 2021-06-08 | 分类: lua | 阅读: 6243 字 ~13分钟 /* ** $Id: lcode.c,v 2.25.1.5 2011/01/31 14:53:16 roberto Exp $ ** Code generator for Lua ** See Copyright Notice in lua.h */ #include <stdlib.h> #include <stdio.h> #define lcode_c #define LUA_CORE #include "lua.h" #include "lcode.h"#include "ldebug.h"#include "ldo.h"#include "lgc.h"#include "llex.h"#include "lmem.h"#include "lobject.h"#include "lopcodes.h"#include "lparser.h"#include "ltable.h" /* e的类型 expdesc */ #define hasjumps(e) ((e)->t != (e)->f) static int isnumeral(expdesc *e) { return (e->k == VKNUM && /* 仅仅e- 阅读全文 »
lua源码注释 lparse.c 时间: 2021-06-08 | 分类: lua | 阅读: 9719 字 ~20分钟 /* 参考的BNF地址 shankusu.me/lua/TheCompleteSyntaxOfLua51/ */ /* ** $Id: lparser.c,v 2.42.1.4 2011/10/21 19:31:42 roberto Exp $ ** Lua Parser ** See Copyright Notice in lua.h */ #include <string.h>#include <stdio.h> #define lparser_c #define LUA_CORE #include "lua.h" #include "lcode.h"#include "ldebug.h"#include "ldo.h"#include "lfunc.h"#include "llex.h"#include "lmem.h"#include "lobject.h"#include "lopcodes.h"#include "lparser.h"#include "lstate.h"#include "lstring.h"#include "ltable.h" /* 也只有函数调用或变参操作符这两种 阅读全文 »
lua源码注释 lparse.h 时间: 2021-06-08 | 分类: lua | 阅读: 2099 字 ~5分钟 /* ** $Id: lparser.h,v 1.57.1.1 2007/12/27 13:02:25 roberto Exp $ ** Lua Parser ** See Copyright Notice in lua.h */ #ifndef lparser_h #define lparser_h #include "llimits.h"#include "lobject.h"#include "lzio.h" /**************************** 官方的BNF ********************************** chunk ::= {stat [`;´]} [laststat [`;´]] block ::= chunk stat ::= varlist `=´ explist | functioncall | do block end | while 阅读全文 »
lua源码分析4的执行 时间: 2021-06-03 | 分类: lua | 阅读: 1637 字 ~4分钟 第3章 lua中函数调用的方法 前面,以及分析了lua中定义一个函数的方法,现在总结如下: 1、 将函数名作为局部变量存在局部变量表里,并在栈上开 阅读全文 »
lua源码分析3条件跳转 时间: 2021-06-03 | 分类: lua | 阅读: 3061 字 ~7分钟 第2章 关于条件编译 首先,解释一下,为什么题目叫做:条件编译。其实很简单,现在这一章要分析的是,if、while、repeat、for语句。 阅读全文 »
lua源码分析2(局部函数的定义) 时间: 2021-06-03 | 分类: lua | 阅读: 2715 字 ~6分钟 第二节 局部函数的声明 前面研究了局部变量的定义,下面就研究下,lua中局部函数定义的方法。 其中局部函数定义的语法是: local function FuncName (parlist) chunk END 首先, 阅读全文 »