代码改变世界

随笔档案-2016年12月

php内核分析(八)-zend_compile

2016-12-05 10:39 by 轩脉刃, 2780 阅读, 收藏, 编辑
摘要: 这里阅读的php版本为PHP 7.1.0 RC3,阅读代码的平台为linux 回到之前看的zend_eval_stringl 这里的zend_execute执行了两步,第一步是把php编译解析成为opcode的过程,我们就先看这个。 zend_compile_string zend_compile_ 阅读全文

Golang汇编命令解读

2016-12-05 10:12 by 轩脉刃, 11085 阅读, 收藏, 编辑
摘要: 我们可以很容易将一个golang程序转变成汇编语言。 比如我写了一个main.go: 使用命令: 我们就获取了main.S是main.go的汇编版本。 首先这个程序根据TEXT是定义函数的,分为3个部分 这个"". 代表的是这个函数的命名空间。 g(SB) 这里就有个SB的伪寄存器。全名未Stati 阅读全文

php内核分析(七)-扩展

2016-12-01 10:16 by 轩脉刃, 1971 阅读, 收藏, 编辑
摘要: 这里阅读的php版本为PHP 7.1.0 RC3,阅读代码的平台为linux。 我们研究下反射这个扩展。 反射这个扩展目录是存在在:ext/reflection。其实里面的代码很简单。一个.h文件,一个 .c文件。 我们先看下.c文件中,会看到很多ZEND_METHOD 对应的宏: 这里的 代表的是 阅读全文