温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP扩展开发之整型参数传递

发布时间:2020-06-27 14:15:03 来源:网络 阅读:818 作者:abc965432 栏目:web开发
 实现一个加法函数,传入2个参数,计算相加的和:    1.创建一个新的扩展	./ext_skel --extname=hello   2.vi config.m4   去掉以下3行行首的dnl           PHP_ARG_ENABLE(hello, whether to enable strive support,           Make sure that the comment is aligned:           [  --enable-hello           Enable strive support])                3,编写代码 	1.vi hello.c	2.#添加下面的代码     	    ZEND_BEGIN_ARG_INFO(addition_arginfo, 0)             ZEND_ARG_INFO(0, num1)             ZEND_ARG_INFO(0, num2)     	    ZEND_END_ARG_INFO()	PHP_FUNCTION(addition) {     	    long num1,num2;     	    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll", &num1, &num2) == FAILURE) {         	   return;     	    }     	    RETURN_LONG(num1+num2);	 }	3.在数组中添加函数名:	  const zend_function_entry  hello_functions[] = {	          PHP_FE(addition, NULL)           /* addition function */	} 解释:     这里创建的拓展名为hello,所以需要编辑hello.c文件,在里面加上相应的函数。这里加上了addition     函数,主要功能是实现两个参数的相加。定义了2个参数,num1与num2。     ZEND_BEGIN_ARG_INFO  :开始参数块定义     ZEND_END_ARG_INFO      :结束参数块定义     ZEND_ARG_INFO      :声明普通参数      PHP_FUNCTION(addition) :这里是为扩展添加具体的函数,函数名为(addition)     函数内定义了两个long类型的变量,这里定义的变量与上面参数块中定义的对应。      RETURN_LONG:表示返回一个long类型的值,            4.编译安装扩展,        phpize        ./configure --with-php-config=php_conf_dir        make && make install        vi php.ini          extension=strive.so               reload php-fpm     5.测试addition函数是否可用:              php -r 'echo addition(10,40);'                           


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI