0

代码来自 ngx_config.h

typedef intptr_t        ngx_int_t;
typedef uintptr_t       ngx_uint_t;
typedef intptr_t        ngx_flag_t;

intptr_t的原型是int,uintptr_t对应的是u_int。

似乎一个复杂的类型层次结构是由 nginx 设计器设置的。我只是很困惑为什么他们不直接使用基本类型?

事实上,这种类型的层次结构使代码有点复杂。

我知道当您尝试将某些类型从 A 修改为 B 时,这种层次结构可以很容易,但只需更改一行代码,这也可以带来更好的可移植性,即将 typedef A xxtype 更改为 typedef B xxtype,但我想知道这是否nginx 中过度使用了一种类型层次结构?这里有人能提供关于过度使用员工的任何线索吗?

更重要的是,您还可以讲述有关这种设计的更多好处或技巧:)

4

0 回答 0