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

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

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

 本文我们一起学习nginx的容器,先从最简单的数组开始。

 数组实现文件:文件:./src/core/ngx_array.h/.c。.表示nginx-1.0.4代码目录,本文为/usr/src/nginx-1.0.4。

 1. 数组结构

 1.1 ngx_array_t结构

 nginx的数组结构为ngx_array_t,定义如下。

view plaincopy to clipboardprint?
  1. struct ngx_array_s {  
  2.     void        *elts;    //数组数据区起始位置   
  3.     ngx_uint_t   nelts;   //实际存放的元素个数   
  4.     size_t       size;    //每个元素大小   
  5.     ngx_uint_t   nalloc;  //数组所含空间个数,即实际分配的小空间的个数   
  6.     ngx_pool_t  *pool;    //该数组在此内存池中分配   
  7. };  
  8.    
  9. typedef struct ngx_array_s  ngx_array_t;  

sizeof(ngx_array_t)=20。由其定义可见,nginx的数组也要从内存池中分配。将分配nalloc个大小为size的小空间,实际分配的大小为(nalloc * size)。详见下文的分析。

 

1.2 ngx_array_t的逻辑结构

 ngx_array_t结构引用了ngx_pool_t结构,因此本文参考nginx-1.0.4源码分析—内存池结构ngx_pool_t及内存管理一文画出相关结构的逻辑图,如下。注:本文采用UML的方式画出该图。

 

 

相关视频

    没有数据

相关阅读 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开发效率