文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页技术开发PHP 学院 → nginx-1.0.4的容器源码分析—数组结构ngx_array_t

nginx-1.0.4的容器源码分析—数组结构ngx_array_t

时间:2011/7/12 7:58:44来源:本站原创作者:清晨我要评论(0)

2 页 数组操作

 2. 数组操作

 数组操作共有5个,如下。

view plaincopy to clipboardprint?
  1. //创建数组   
  2. ngx_array_t*ngx_array_create(ngx_pool_t *p, ngx_uint_t n, size_t size);  
  3.    
  4. //销毁数组   
  5. voidngx_array_destroy(ngx_array_t *a);  
  6.    
  7. //向数组中添加元素   
  8. void*ngx_array_push(ngx_array_t *a);  
  9. void*ngx_array_push_n(ngx_array_t *a, ngx_uint_t n);  
  10.    
  11. //初始化数组   
  12. staticngx_inline ngx_int_t  
  13. ngx_array_init(ngx_array_t*array, ngx_pool_t *pool, ngx_uint_t n, size_t size)  
  因实现都很简单,本文简单分析前3个函数。

 2.1 创建数组

 创建数组的操作实现如下,首先分配数组头(20B),然后分配数组数据区,两次分配均在传入的内存池(pool指向的内存池)中进行。然后简单初始化数组头并返回数组头的起始位置。

view plaincopy to clipboardprint?
  1. ngx_array_t*  
  2. ngx_array_create(ngx_pool_t*p, ngx_uint_t n, size_t size)  
  3. {  
  4.     ngx_array_t *a;  
  5.    
  6.     a = ngx_palloc(p,sizeof(ngx_array_t));  //从内存池中分配数组头   
  7.     if (a == NULL) {  
  8.         return NULL;  
  9.     }  
  10.    
  11.     a->elts = ngx_palloc(p,n * size);  //接着分配n*size大小的区域作为数组数据区   
  12.     if (a->elts == NULL) {  
  13.         return NULL;  
  14.     }  
  15.    
  16.     a->nelts = 0;    //初始化   
  17.     a->size = size;  
  18.     a->nalloc = n;  
  19.     a->pool = p;  
  20.    
  21.     return a;  //返回数组头的起始位置   
  22. }  
  创建数组后内存池的物理结构图如下。

相关视频

    没有数据

相关阅读 asp的日期转换星座函数PHP官方源码被篡改,或为国人所为php站内全文搜索代码熊猫烧香核心源码(Delphi模仿版本)个性化jQuery和CSS3菜单源码用android的content provider实例源码告诉大家PHP随机显示目录下图片的源码关于jquery的图片裁剪源码

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 nginx-1.0.4的容器源码如何在xp系统用IIS搭建 nginx-1.0.4的容器源码分析—数组结构ngx_aPHP编程技巧提高PHP开发效率php站内全文搜索代码如何在xp系统用IIS搭建php环境

人气排行 如何在xp系统用IIS搭建php环境php输出内容乱码解决方法php站内全文搜索代码gcov-dump原理分析_Linux平台代码覆盖率测试如何架设PHP服务器nginx-1.0.4的容器源码分析—数组结构ngx_a用PHP实现文件管理系统PHP编程技巧提高PHP开发效率