zoukankan      html  css  js  c++  java
  • zend相关

    zend引擎是脚本语言引擎(解析器+虚拟机),主要的工作就是解析、翻译和执行php脚本

    zend引擎要做的两个工作:

    1、编译php脚本,输出opcodes。

    2、解析执行opcodes,输出结果。

    在解析执行的过程中zend引擎可以调用到所有已经载入到php环境的扩展库。

    PHP扩展是使用c语言开发的,而c语言最令人望而生畏的就是内存管理,因为有时候可能会忘记释放某些内存,或者释放同一块内存两次等,这些都是致命的。

    为了防止这些情况出现,zend引擎提供一些与内存管理相关的接口,使用这些接口后就不用管内存有没有释放,因为zend引擎会为你管理所有通过zend api申请的内存,从而避免了内存泄漏。

    所有的PHP扩展通常包含以下几部分:

    1、包含头文件

    2、声明导出函数:就是按照php内核规定的准则编写的函数,有五个参数

    3、声明zend函数块:zend引擎不会自动引入声明的导出函数的,使用zend_function_entry结构体把编写的函数引入到zend引擎中

    4、声明zend模块:php扩展信息都保存在zend_module_entry结构中,这个结构包含所有需要想zend引擎提供的模块信息。

    5、实现get_module()函数:当扩展被动态加载时会调用此函数

    6、实现导出函数:导出函数的实现是构建扩展的最后一步,导出函数是可以在PHP脚本中调用的函数,而实现这些函数才能发挥作用。

  • 相关阅读:
    30天自制操作系统之-第四天-
    30天自制操作系统之-第三天-
    30天自制操作系统之-第二天-
    30天自制操作系统之-第一天-
    c语言之连接符
    c语言之函数指针应用
    dpdk之路-环境部署
    linux系统裁剪
    redux和mobx比较(二)
    redux和mobx比较(一)
  • 原文地址:https://www.cnblogs.com/weiluoyan/p/6940611.html
Copyright © 2011-2022 走看看