惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog
Y
Y Combinator Blog
WordPress大学
WordPress大学
Microsoft Azure Blog
Microsoft Azure Blog
小众软件
小众软件
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
博客园 - 叶小钗
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
量子位
The Cloudflare Blog
T
The Blog of Author Tim Ferriss
博客园_首页
B
Blog RSS Feed
Hugging Face - Blog
Hugging Face - Blog
IT之家
IT之家
阮一峰的网络日志
阮一峰的网络日志
L
LangChain Blog
宝玉的分享
宝玉的分享

博客园 - bqrm_521(小奎)

.net连接eDirectory,需要安全连接的解决方案 ObDereferenceObjectDeferDelete routine ObDereferenceObject routine ObCloseHandle routine InitializeObjectAttributes 宏 Driver Support Routines(驱动程序开发支持例程) AdapterControl routine Standard Driver Routines(标准驱动程序) DriverEntry 文件系统过滤驱动的DriverEntry PHP扩展的加载流程 PHP扩展中定义一个类 PHP的HashTable(一) PHP扩展中访问全局变量$_POST,$_GET,$_SERVER等 开发PHP扩展(一) 要搬家了,全部书籍10元转让 scribe2.2 ssh 使用技巧 安装scribe
PHP的HashTable(二)
bqrm_521(小奎) · 2012-10-02 · via 博客园 - bqrm_521(小奎)

HashTable的使用示例:

/*  Demo */
PHP_METHOD(tonic_application, showglobals)
{
    zval *val = NULL;
    zval *ht_arr = NULL;

    MAKE_STD_ZVAL(ht_arr);
    array_init(ht_arr);
    MAKE_STD_ZVAL(val);
    ZVAL_STRING(val,"dopool",1);

    if(zend_hash_add(Z_ARRVAL_P(ht_arr),"a",sizeof("a"),&val,sizeof(zval*), NULL) == FAILURE)
    {
        php_printf("zend_hash_add errored!\n");
        return;  /*  直接return会导致内存泄露,所以这里是错误的..是禁止的... */
    }

    zval **ppzval=NULL;
    if( zend_hash_find(Z_ARRVAL_P(ht_arr),"a",sizeof("a"),(void**)&ppzval) == FAILURE)
    {
        php_printf("error!\n");
    }
    if( ppzval != NULL)
    {
        RETVAL_ZVAL(*ppzval, 10);
    }
    zval_ptr_dtor(&ht_arr);
    zval_ptr_dtor(&val);

demo是写出来了,可是还没有完全理解HashTable的东东,还要看看...