nginx原始碼學習 資料結構 ngx int

2022-03-13 17:01:24 字數 898 閱讀 3523

nginx中關於整型的資料結構位於src/core/ngx_config.h中

結構比較簡單,就是乙個typedef的操作,具體如下:

1

typedef intptr_t ngx_int_t;

2typedef uintptr_t ngx_uint_t;

3 typedef intptr_t ngx_flag_t;

裡面的intptr_t和uintptr_t的定義位於/usr/include/stdint.h中

1

/*types for `void *' pointers. */2

#if __wordsize == 64

3# ifndef __intptr_t_defined

4 typedef long

intintptr_t;

5# define __intptr_t_defined

6# endif

7 typedef unsigned long

intuintptr_t;

8#else

9# ifndef __intptr_t_defined

10 typedef int

intptr_t;

11# define __intptr_t_defined

12# endif

13 typedef unsigned int

uintptr_t;

14#endif

另外,c99 標準定義了 intptr_t 和 uintptr_t 型別給乙個可以持有乙個指標值的整型變數。這是因為它們的大小和指標的大小一樣,因此也有了注釋中的/* types for `void *' pointers. */這句話。

nginx原始碼學習 資料結構 ngx str

nginx中關於字串的資料結構位於src core ngx string.c和src core ngx string.h中 先來看一下資料結構 1 typedef struct ngx str t data指標指向字串起始位址,len表示字串的有效長度。這裡面的data並不保證以 0 結尾,所以必須...

Nginx原始碼結構

上一章對nginx的架構有了乙個初步的了解。這章,為了對原始碼仔細的剖析,先要對nginx的原始碼結構有乙個了解。從巨集觀上把握原始碼模組的結構。一.nginx原始碼的3個目錄結構 在安裝的nginx的目錄下,有乙個目錄src,這裡邊存放了nginx的所有源 包括 core,event,http,m...

資料結構原始碼 迷宮

include include include include include define stack init size 1000 define stack more 10 define overflow 2 define ok 1 define error 0 define true 1 de...