首页 > 作文

PHP源码常用代码中的定义

更新时间:2023-04-07 05:38:16 阅读: 评论:0

php常用代码宏定义:

#define 宏名 字符串

#表示这是一条预处理命令,所有的预处理命令都以#开头。define是预处理命令。宏名是标识符的一种,命名规则和标识符相同。字符串可以是常数、表达式等。

在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。

1.#define php_function zend_function

在编译预处理阶段会把php_function 替换成 zend_function

带参数宏定义:

#define 宏名(形参列表) 字符串

允许宏带有参数。在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数,这点和函数有些类似。

1.#define zend_function(name) zend_named_function(zend_fn(name))

会把zend_function(count) 替换成 zend_named_function(zend_fn(count))

宏参数的字符串化和宏参数的连接:

在宏定义中使用#用来将宏参数转换为字符串,也就是在宏参数的开头和末尾添加引号。

##称为连接符,用来将宏参数或其他的串连接起来。

1.#define zend_fn(name) zif_##name

带参宏定义加连接符,会把zend_fn(count) 替换成 zif_count

多表达式宏定义:

在宏定义中使用了 do{ }while(0) 语句格式,里面的代码至少会执行一次,不破坏原有的结构

源码总结:

php如下源码

#define php_function zend_function

#define zend_function(name) zend_named_function(zend_fn(name))

#define zend_fn(name) zif_##name

#define zend_named_function(name关于父亲节的诗歌) void name(interna四重奏 电视剧 2017l_function_parameters)

#define internal_f迟来的祝福unction_parameters int ht, zval *return_value, zval **return_value_ptr, zval *this_ptr, int return_value_ud tsrmls_dc

php_f赤子之心什么意思unction(count);

经过预处理器处理后:

1.zend_function(count)

2.zend_named_function(zend_fn(count))

3.zend_named_function(zif_count)

4.void zif_count(internal_function_parameters)

5.void zif_count(int ht, zval *return_value, zval **return_value_ptr, zval *this_ptr, int return_value_ud tsrmls_dc)

练习:

#include

#define n 100

#d男士保养皮肤的方法efine m(y) y*y

#define str(s) #s

#define con(a,b) a##b

#define alloc_zval(z) do {\

z++;\

z=z+100;\

} while (0)

int main(){

printf(“%d \n”,n);//普通宏调用

printf(“%d \n”,m(n));//带参宏定义

printf(“%s \n”,str(taoshihan));//字符串化

printf(“%d \n”,con(123,456));//连接符

int i=0;

alloc_zval(i);//多行宏定义

printf(“%d \n”,i);

}

本文发布于:2023-04-07 05:38:14,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/59222b21a3162a76f8769daae08baeb6.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP源码常用代码中的定义.doc

本文 PDF 下载地址:PHP源码常用代码中的定义.pdf

标签:参数   定义   字符串   会把
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图