免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Linux下用C開發(fā)PHP擴(kuò)展[轉(zhuǎn)]

一、首先下載PHP源碼包,假設(shè)源碼包目錄為:/software/php-5.2.13

#> cd /software/php-5.2.13/ext

二、假設(shè)我們要開發(fā)一個(gè)名為caleng_module的擴(kuò)展,該擴(kuò)展包含兩個(gè)函數(shù):a--處理兩個(gè)整型相加和b-處理字符串重復(fù)輸出;

1、首先編寫一個(gè)函數(shù)定義文件,該文件編寫函數(shù)原型后綴為def,假設(shè)為:caleng_module.def

int a(int x, int y)
string b(string str, int n)

2、通過(guò)擴(kuò)展骨架生成器,將在ext目錄下自動(dòng)建立擴(kuò)展目錄caleng_module

#> ./ext_skel --extname=caleng_module --proto=caleng_module.def

3、修改配置文件: #> vim /software/php-5.2.13/ext/caleng_module/config.m4,將如下行的注釋標(biāo)簽"dnl"去掉,修改后如下所示:

PHP_ARG_ENABLE(myfunctions, whether to enable myfunctions support,

Make sure that the comment is aligned:

[  --enable-myfunctions           Enable myfunctions support])

4、完善函數(shù)a和b的功能: #> vim /software/php-5.2.13/ext/caleng_module/caleng_module.c


PHP_FUNCTION(a)
{
    int x, y, z;
   
    int argc = ZEND_NUM_ARGS();
 
    if (zend_parse_parameters(argc TSRMLS_CC, "ll", &x, &y) == FAILURE)
        return;
    z = x + y;
    RETURN_LONG(z);
}
PHP_FUNCTION(b)
{
    char *str = NULL;
    int argc = ZEND_NUM_ARGS();
    int str_len;
    long n;
    char *result;
    char *ptr;
    int result_length;
 
    if (zend_parse_parameters(argc TSRMLS_CC, "sl", &str, &str_len, &n) == FAILURE)
        return;
    result_length = str_len * n;
    result = (char *) emalloc(result_length + 1);
    ptr = result;
    while (n--) {
        memcpy(ptr, str, str_len);
        ptr += str_len;
    }
    *ptr = '\0';
    RETURN_STRINGL(result, result_length, 0);
}


三、編譯安裝,假設(shè)php的安裝目錄為:/usr/localhost/webserver/php

#> cd /software/php-5.2.13/ext/caleng_module

#> /usr/localhost/webserver/php/bin/phpize

#> ./configure --with-php-config=/usr/localhost/webserver/php/bin/php-config

#> make

#> make install

現(xiàn)在將在/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613目錄下生成caleng_module.so文件

在php.ini配置文件中加入: extension=caleng_module.so.

搞定收工

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
如何編寫PHP擴(kuò)展1
C語(yǔ)言可變參數(shù)(va_arg,va_list,va_start,va_end)
php通過(guò)pack和unpack函數(shù)實(shí)現(xiàn)對(duì)二進(jìn)制數(shù)據(jù)封裝及解析
PHP中的前綴自增(++i) 和后綴自增 (i++)
Windows下搭建PHP開發(fā)環(huán)境
php5.0加apache2.0加myaql5.0的安裝--網(wǎng)站管理員
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服