上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 37 下一页

2019年12月14日

摘要: 零、C语言中float类型变量定义的诡异性 在C语言中,float类型的定义比较特殊,特别是对于小数点左右侧数字的定义看起来也比较诡异:例如这种".005","10."等类型,问题是这种节省一个数字0,让浮点数看起来非常诡异的意义在哪里?不是不允许这种奇形怪状的定义,让浮点数看起来更加规范它不香吗? 阅读全文
posted @ 2019-12-14 11:31 tsecer 阅读(1064) 评论(0) 推荐(0)

2019年9月11日

摘要: 零、参考文档 作者的说明 一、GC实现需要考虑的问题 1、着色可以处理循环引用 mark and sweep实现,通过着色的方法,一个优点就是可以避免循环引用,当A和B两个对象可能互相指向对方时,着色可以避免无限递归。 2、全量集和可达集 sweep的时候是清除没有被访问过的节点,相当于从全量集合中 阅读全文
posted @ 2019-09-11 16:24 tsecer 阅读(1106) 评论(0) 推荐(0)

2019年9月10日

摘要: 一、代码中输入的由来 这个来源通常有三个:upvalue、const、local。除了local变量天然对应寄存器之外,另外的const和upvalue在使用的时候都需要专门的指令来加载到寄存器中,因为大部分的机器操作都是基于寄存器实现。这一点在lua-5.3.4\src\lopcodes.h可以看 阅读全文
posted @ 2019-09-10 18:58 tsecer 阅读(980) 评论(0) 推荐(1)

2019年9月9日

摘要: 一、从hello world说起 当执行print("Hello World!")时,明显这是需要有执行一个特定的向标准输出打印字符串的功能,所以这里首先涉及到的是一个函数查找的问题,也就是如何把字符串和对应的功能联系起来。在最为常见的C语言中,这个查找是由链接器完成的:它从所有的obj文件中查找这 阅读全文
posted @ 2019-09-09 18:41 tsecer 阅读(4517) 评论(0) 推荐(0)

2019年9月4日

摘要: 一、go语法解析主要文件 go语言的前端解释代码位于gcc-4.8.2\gcc\go\gofrontend\parse.cc文件,对于源文件的解析从Parse::program开始。从这个函数看,源文件开始必须通过package指明自己的名称;如果有import,它们必须击中在package后面,第 阅读全文
posted @ 2019-09-04 17:42 tsecer 阅读(541) 评论(0) 推荐(0)

2019年8月19日

摘要: 一、从/proc/self/maps中看到的内存布局 在这个输出中,可以很容易看到一个so文件中有一个" p"属性的区间段,它们对应哪些文件内容,数据从哪里来?在stackoverflow网站上也有一个这样的提问,只是还没有人解答。tsecer@harry: cat /proc/self/maps 阅读全文
posted @ 2019-08-19 12:29 tsecer 阅读(3043) 评论(0) 推荐(0)

2019年8月18日

摘要: 一、问题 在使用寄存器调试一些堆栈破坏的core文件时,可能需要通过反汇编来确定问题的原因,而此时确定寄存器的值就是一个必要的手段。但是,在通过frame切换栈帧之后,通过info reg看到的寄存器就是该栈帧当前的寄存器值吗? 二、gdb的文档说明 if all stack frames fart 阅读全文
posted @ 2019-08-18 10:13 tsecer 阅读(1541) 评论(0) 推荐(0)

2019年8月16日

摘要: 一、相关资料 可以从下面地址下载工程源码lssh使用的RFC协议在下面文档中描述 使用channel的原因通常是两台主机A、B不能直接联通,但是它们都和M联通,并且M机器上运行了sshd服务器,也就是一方可以通过ssh和中转机联通。此时可以使用中转机M来联通A和B两台机器。 二、命令行参数(-L/- 阅读全文
posted @ 2019-08-16 16:16 tsecer 阅读(1978) 评论(0) 推荐(0)

2019年4月12日

摘要: 零、更新 proto3中用法参考这个。 一、extension的用法 由于extension是protobuf2中一个比较高级,但是在proto3中禁用的功能,所以在这里还是看下这个内容的实现,完整的实现参考来自下面文章。为了避免跳转或者连接失效,这里把原文章内容拷贝一份: proto文件packa 阅读全文
posted @ 2019-04-12 15:27 tsecer 阅读(5101) 评论(0) 推荐(1)

2019年4月11日

摘要: 一、一个message的meta中包含的内容 所谓反射(reflection),最直观的理解就是可以在运行中通过一个字符串的名称获得一个内存地址。在protobuf中,这一点通过Reflection对象完成,尽管这个类的接口 virtual int32 GetInt32 (const Message 阅读全文
posted @ 2019-04-11 17:16 tsecer 阅读(1149) 评论(0) 推荐(0)
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 37 下一页

导航