nginx中ngx_int_t和ngx_rbtree_t数据结构有何特点?
- 内容介绍
- 文章标签
- 相关推荐
本文共计5341个文字,预计阅读时间需要22分钟。
面对srccore子目录中的71个源文件,其中包含主函数的nginx.c文件,发现nginx使用了大量自封装的数据结构。这些数据结构较为复杂,难以理解,使得解析主函数中的操作变得困难。
面对.srccore子目录中71个源文件,有点无从下手。浏览包含主函数的nginx.c文件,发现nginx使用了很多自行封装的数据结构,不弄清楚这是些什么样的数据结构就很难理解主函数中操作面对./src/core子目录中71个源文件,有点无从下手。浏览包含主函数的nginx.c文件,发现nginx使用了很多自行封装的数据结构,不弄清楚这是些什么样的数据结构就很难理解主函数中操作的意义。于是我们挑看起来基础的数据结构开始研究。组织nginx所有数据结构的是ngx_core.h文件。它首先包含了ngx_config.h,我们在ngx_config.h中发现了三个类型定义。
1、ngx_int_t、ngx_uint_t、ngx_flag_tnginx.c中看到的第一个陌生数据类型是ngx_int_t,在nginx_config.h中找到了它的定义。
typedef intptr_t ngx_int_t;typedef uintptr_t ngx_uint_t;typedef intptr_t ngx_flag_t; 顺藤摸瓜找到了三个数据类型的定义。本科c入门教学中并没有对intptr_t/uintptr_t的介绍,我在c的stdint.h头文件中发现了它们的定义。本文共计5341个文字,预计阅读时间需要22分钟。
面对srccore子目录中的71个源文件,其中包含主函数的nginx.c文件,发现nginx使用了大量自封装的数据结构。这些数据结构较为复杂,难以理解,使得解析主函数中的操作变得困难。
面对.srccore子目录中71个源文件,有点无从下手。浏览包含主函数的nginx.c文件,发现nginx使用了很多自行封装的数据结构,不弄清楚这是些什么样的数据结构就很难理解主函数中操作面对./src/core子目录中71个源文件,有点无从下手。浏览包含主函数的nginx.c文件,发现nginx使用了很多自行封装的数据结构,不弄清楚这是些什么样的数据结构就很难理解主函数中操作的意义。于是我们挑看起来基础的数据结构开始研究。组织nginx所有数据结构的是ngx_core.h文件。它首先包含了ngx_config.h,我们在ngx_config.h中发现了三个类型定义。
1、ngx_int_t、ngx_uint_t、ngx_flag_tnginx.c中看到的第一个陌生数据类型是ngx_int_t,在nginx_config.h中找到了它的定义。
typedef intptr_t ngx_int_t;typedef uintptr_t ngx_uint_t;typedef intptr_t ngx_flag_t; 顺藤摸瓜找到了三个数据类型的定义。本科c入门教学中并没有对intptr_t/uintptr_t的介绍,我在c的stdint.h头文件中发现了它们的定义。
