会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
taek
博客园
首页
新随笔
联系
管理
订阅
上一页
1
···
8
9
10
11
12
13
14
15
16
下一页
2015年1月23日
php 内存分配
摘要: php内核中的内存分配 使用的函数有 emalloc(), erealloc() ,这两个函数分别是malloc(),realloc()函数的封装 关于内存分配有四个容器:cache,小块内存链表,大块内存(链表+树), 剩余rest内存链表 大块内存(链表+二叉排序树):链表中每个bucket除了
阅读全文
posted @ 2015-01-23 14:16 taek
阅读(2750)
评论(0)
推荐(0)
2015年1月12日
php类的实现
摘要: zend_class_entry typedef struct _zend_property_info { zend_uint flags; char *name; int name_length; ulong h; char *doc_comment; int doc_comment_len; z
阅读全文
posted @ 2015-01-12 23:20 taek
阅读(1771)
评论(0)
推荐(0)
2015年1月11日
php 对象调用方法
摘要: static union _zend_function *zend_std_get_method(zval **object_ptr, char *method_name, int method_len, const zend_literal *key TSRMLS_DC) /* {{{ */ { zend_function *fbc; zval *object = *objec...
阅读全文
posted @ 2015-01-11 22:37 taek
阅读(1662)
评论(0)
推荐(0)
php 生成类的对象 $a=new test();
摘要: 程序 1.BNF 范式 获取class_name,并生成opcode ZEND_FETCH_CLASS 执行 ZEND_FETCH_CLASS 理解版 //#define EX_T(offset) (*EX_TMP_VAR(execute_data, offset)) //#define EX_TM
阅读全文
posted @ 2015-01-11 22:37 taek
阅读(570)
评论(0)
推荐(0)
php 对象的执行
摘要: 1.BNF范式%token T_OBJECT_OPERATOR "-> (T_OBJECT_OPERATOR)"unticked_statement:| expr ';' { zend_do_free(&$1 TSRMLS_CC); }expr: r...
阅读全文
posted @ 2015-01-11 22:37 taek
阅读(338)
评论(0)
推荐(0)
2014年11月25日
php 连接字符串. ZEND_ASSIGN_CONCAT/ZEND_CONCAT原理
摘要: 0.php代码 1.BNF范式(语法规则) 2.生成opcode 3.执行opcode 执行$a.$b时,执行concat_function,第一个参数为一个临时变量(类型为zval), 执行函数后,这个临时变量即保存了concat后的字符串的首地址,然后这个临时变量会放到yyvsp这个数组里,当再
阅读全文
posted @ 2014-11-25 16:41 taek
阅读(1089)
评论(0)
推荐(0)
2014年11月24日
php-echo原理
摘要: 1.语法分析unticked_statement:| T_ECHO echo_expr_list ';';echo_expr_list: echo_expr_list ',' expr { zend_do_echo(&$3 TSRMLS_CC); } | expr ...
阅读全文
posted @ 2014-11-24 16:00 taek
阅读(1628)
评论(0)
推荐(0)
2014年11月11日
function 的声明
摘要: 结论: 一 编译 a.对 函数声明进行词法分析和语法分析:在语法分析中的函数zend_do_begin_function_declaration 作用是: 初始化zend_op_array,填充 function_name ,line_start ,设定相应opcode:ZEND_DECLARE_F
阅读全文
posted @ 2014-11-11 15:26 taek
阅读(1433)
评论(0)
推荐(0)
2014年9月24日
php语法分析
摘要: php的语法分析的主要作用是验证词法分析的基础上将token组成的序列,在php这门语言中是否是一个有效的句子,也可以理解为这些token序列是否匹配设计php这门语言时的语法模型,在匹配的情况下构建具体的程序(组建opcode),以供编译后期使用。 比如:在设计php语言时,需要设计一套语法...
阅读全文
posted @ 2014-09-24 17:54 taek
阅读(2909)
评论(1)
推荐(1)
2014年9月11日
c malloc分配内存
摘要: php中的内存分配有用类似emalloc这样的函数,emalloc实际上是C语言中的malloc的一层封装,php启动后,会向OS申请一块内存,可以理解为内存池,以后的php分配内存都是在这块内存池中进行的,以至于efree,也不会向OS退回内存,而只是设置标志位,标识efree这块内存不再使用...
阅读全文
posted @ 2014-09-11 15:15 taek
阅读(6108)
评论(2)
推荐(1)
上一页
1
···
8
9
10
11
12
13
14
15
16
下一页
公告