nginx 系列学习篇之 数据结构

本文介绍了Nginx中使用的几种关键数据结构,包括ngx_int_t和ngx_uint_t整型定义、ngx_str_t字符串类型及其特点,以及ngx_list_t链表结构。这些数据结构为Nginx提供了高效的基础支撑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面主要介绍nginx里用的数据结构,以后读源码当然还会回过头来看看。

在nginx里的变量类型一般都以ngx开头



typedef  intptr_t ngx_int_t
typedef  uintptr_t  ngx_uint_t   

分别定义了ngx里的有符号和无符号整数。

其中intptr_t的定义如下:
typedef  long  int     intptr_t



typedef struct {
size_t       len;
u_char *  data;
} ngx_str_t;
定义了ngx里的string类型,nginx里的string 没有\0,不过引入了len这个参数。


typedef  struct  ngx_list_part_s ngx_list_part_t;

struct ngx_list_part_s{
void                     *elts;
ngx_uint_t            nelts;
ngx_list_part_t    *next;
};

typedef  struct{
ngx_list_part_t   *last;
ngx_list_part_t    part;
size_t                  size;
ngx_uint_t           nalloc;
ngx_pool_t          *pool;

} ngx_list_t;
ngx_list_t是nginx里的链表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值