中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP擴展開發之整型參數傳遞

發布時間:2020-06-27 14:15:03 來源:網絡 閱讀:807 作者: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

新化县| 岱山县| 安阳县| 古浪县| 海原县| 贞丰县| 象山县| 莫力| 兴宁市| 白山市| 卓尼县| 金寨县| 库车县| 黄山市| 犍为县| 麦盖提县| 卢湾区| 五大连池市| 宁陕县| 称多县| 西城区| 石林| 博客| 曲沃县| 长治市| 朔州市| 玉树县| 通渭县| 炎陵县| 宁武县| 清涧县| 广宁县| 天台县| 汉中市| 扶余县| 南宁市| 军事| 衡南县| 天水市| 郓城县| 托里县|