摘要: 第一个参数是HashTable,在1.2.3节提到Zend使用HashTable来存储PHP函数,function_table用于指 定从哪个HashTable中获取函数。通常应该用CG(function_table),展开就是 compiler_globals.function_table,compiler_globals是一个用来存储编译器数据的全局数据结构(与其对应 的还有个EG宏,即executor_globals,它用来存储执行器数据)。compiler_globals.function_table里面存 储了所有我们可以在PHP页面里面调用的函数,包括Zend内建函数、PHP标准库 阅读全文
posted @ 2014-02-11 17:31 暗痛 阅读(610) 评论(0) 推荐(0) 编辑
摘要: Extensions 的编写理解了这些运行机制以后,本章着手介绍Extensions 的编写,但凡写程序的人都知道hello world,那好,就从hello world开始。 1.1Hello World这是摘自《PHP手册》的示例程序: 双击代码全选 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 阅读全文
posted @ 2014-02-11 17:29 暗痛 阅读(1130) 评论(0) 推荐(0) 编辑
摘要: Linux下用C开发PHP扩展 一、首先下载PHP源码包,假设源码包目录为:/software/php-5.2.13#> cd /software/php-5.2.13/ext二、假设我们要开发一个名为caleng_module的扩展,该扩展包含两个函数:a--处理两个整型相加和b-处理字符串重复输出;1、首先编写一个函数定义文件,该文件编写函数原型后缀为def,假设为:caleng_module.def[cpp] view plaincopyinta(intx,inty)stringb(stringstr,intn)2、通过扩展骨架生成器,将在ext目录下自动建立扩展目录caleng_ 阅读全文
posted @ 2014-02-11 17:23 暗痛 阅读(333) 评论(0) 推荐(0) 编辑