nginx中ngx_int_t和ngx_rbtree_t的数据结构是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计5343个文字,预计阅读时间需要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头文件中发现了它们的定义。本文共计5343个文字,预计阅读时间需要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头文件中发现了它们的定义。
