php扩展的用到的一些宏
2013-06-21 10:41
162 查看
宏 | 说明 |
---|---|
AC_MSG_CHECKING(message) | 在执行 configure 命令时输出“checking <message>”等信息。 |
AC_MSG_RESULT(value) | 取得 AC_MSG_CHECKING 的执行结果,一般情况下 value 应为 yes 或 no。 |
AC_MSG_ERROR(message) | 在执行 configure 命令时输出一条错误消息 message 并中止脚本的执行。 |
AC_DEFINE(name,value,description) | 向 php_config.h 添加一行定义:#define name value // description (这对模块的条件编译很有用。) |
AC_ADD_INCLUDE(path) | 添加一条编译器的包含路径,比如用于模块需要为头文件添加搜索路径。 |
AC_ADD_LIBRARY_WITH_PATH (libraryname,librarypath) | 指定一个库的连接路径。 |
AC_ARG_WITH(modulename,description, unconditionaltest,conditionaltest) | 这是一款比较强大的宏,用于将模块的描述 description 添加到“configure -help”命令的输出里面。PHP 会检查当前执行的 configure 脚本里面有没有-with-<modulename> 这个选项。 如果有则执行 unconditionaltest 语句(比如 -with-myext=yes 等), 此时,选项的值会被包含在 $withval 变量里面。否则就执行 conditionaltest 语句。 |
PHP_EXTENSION(modulename, [shared]) | 这个是配置你的扩展时 PHP 必定调用的一个宏。你可以在模块名后面提供第二个参数,用来表明是否将其编译为动态共享模块。这会导致在编译时为你的源码提供一个 COMPILE_DL_<modulename> 的定义。 |
AC_ARG_ENABLE | 你可以使用AC_ARG_ENABLE来定义一个命令行选项。 这个宏接受三个参数 1.flag_base 2.该选项的帮助说明 3.当configure带该选项运行时所执行的代码,代码中的命令行变量enableval被设为此选项的值 其实应该还有一个就是缺省值。 |
Zend API中的宏
下面是一些引入到 Zend API 里面用于访问 zval 容器的 API 宏。宏 | 指向 |
---|---|
Z_LVAL(zval) | (zval).value.lval |
Z_DVAL(zval) | (zval).value.dval |
Z_STRVAL(zval) | (zval).value.str.val |
Z_STRLEN(zval) | (zval).value.str.len |
Z_ARRVAL(zval) | (zval).value.ht |
Z_LVAL_P(zval) | (*zval).value.lval |
Z_DVAL_P(zval) | (*zval).value.dval |
Z_STRVAL_P(zval_p) | (*zval).value.str.val |
Z_STRLEN_P(zval_p) | (*zval).value.str.len |
Z_ARRVAL_P(zval_p) | (*zval).value.ht |
Z_LVAL_PP(zval_pp) | (**zval).value.lval |
Z_DVAL_PP(zval_pp) | (**zval).value.dval |
Z_STRVAL_PP(zval_pp) | (**zval).value.str.val |
Z_STRLEN_PP(zval_pp) | (**zval).value.str.len |
Z_ARRVAL_PP(zval_pp) | (**zval).value.ht |
PHP_MSHUTDOWN_FUNCTION() 当PHP完全关闭时,Zend引擎调用的函数,
PHP_RINIT_FUNCTION() 在每次PHP请求开始,请求前启动函数被调用。通常用于管理请求前逻辑。
PHP_RSHUTDOWN_FUNCTION() 在每次PHP请求结束后,请求前关闭函数被调用。经常应用在清理请求前启动函数的逻辑。
PHP_MINFO_FUNCTION() 调用phpinfo()时模块信息函数被呼叫,从而打印出模块信息。
PHP_FE是一个宏.
等于
#define ZEND_FENTRY(zend_name, name, arg_info, flags) { #zend_name, name, arg_info, (zend_uint) (sizeof(arg_info)/sizeof(struct _zend_arg_info)-1),
flags },
只是做了一些初始化.
PHP_FE_END 等于 { NULL, NULL, NULL, 0, 0 }
后期慢慢增加..
相关文章推荐
- php一些用到的路径的一些函数~~
- PHP中用到的一些字符串函数
- php.ini中经常会用到的一些配置
- php编程中经常需要用到一些服务器的一些资料 $_SERVER[]
- debian下安装php的一些扩展geoip,mongo,redis,libevent,proctitle,inotify,pcntl,uv,yaf
- Swift中用到extension的一些基本的扩展功能讲解
- 分表用到的一些函数/php mysql 前面补0
- 使用php缺少加密扩展mcrypt等相关问题的一些解决方法
- mac安装php的oracle扩展oci8的一些问题
- Centos7上安装PHP-Redis扩展以及一些简单的实用
- php一些平时没 用到的函数
- 关于PHP的多线程扩展pcntl的一些测试
- php扩展开发笔记(5)一些数组操作相关的宏和简单示例
- windwos下编写php扩展的一些注意事项
- 在初学php时用到的一些问题以及解决办法
- 编译php源码时,怎么加上自定义的一些扩展
- 嵌入式开发中用到的一些扩展关键字
- PHP的魔术方法/魔术变量以及php用到的一些函数
- linux下单独安装一些php的扩展
- PHP扩展2:config.m4中的一些基础的宏定义和需要注意的地点