Heim >Backend-Entwicklung >PHP-Tutorial >grundlegende Datenstruktur
Zuerst der Integer-Typ:
src/core/ngx_config.h
<code><span>typedef</span> intptr_t ngx_int_t; <span>typedef</span> uintptr_t ngx_uint_t; <span>typedef</span> intptr_t ngx_flag_t;</code>
Das heißt, Ganzzahl, vorzeichenlose Ganzzahl und Bool. Drei Typen, einschließlich intptr_t, sind wie folgt definiert:
/usr/local/include/stdint.h
<code><span>/* Types for `void *' pointers. */</span><span>#if __WORDSIZE == 64</span><span># ifndef __intptr_t_defined</span> typedef <span>long</span><span>int</span> intptr_t; <span># define __intptr_t_defined</span><span># endif</span> typedef unsigned <span>long</span><span>int</span> uintptr_t; <span>#else</span><span># ifndef __intptr_t_defined</span> typedef <span>int</span> intptr_t; <span># define __intptr_t_defined</span><span># endif</span> typedef unsigned <span>int</span> uintptr_t; <span>#endif</span></code>
Das heißt: 64-Bit-Systeme verwenden lange Ganzzahlen (8 Bytes), andernfalls werden Ganzzahlen (4 Bytes) verwendet.
Dann der String-Typ:
/src/core/ngx_string.h
<code><span>typedef</span> struct { size_t len; u_char *<span><span>data</span>;</span> } ngx_str_t; </code>
Als nächstes werden eine Reihe stringbezogener Funktionen definiert, ähnlich den Mitgliedsfunktionen, die ngx_str_t entsprechen.
函数 | 描述 |
---|---|
ngx_string(str) | 构造函数,str指向 |