字符串管理:zend_string
任何程序都需要管理字符串。在這里,我們將詳細(xì)介紹適合 PHP 需求的自定義解決方案:zend_string
。每次 PHP 需要使用字符串時(shí),都會(huì)使用 zend_string
結(jié)構(gòu)。該結(jié)構(gòu)僅僅是 C 語言的 char *
字符串類型的簡單精簡包裝。
它添加了內(nèi)存管理的功能,所以同一字符串可以在多個(gè)地方共享,而無需重復(fù)。另外,一些字符串是“內(nèi)部的”,即“持久的”分配,并通過內(nèi)存管理特殊管理,以便它們不會(huì)在多個(gè)請(qǐng)求中被銷毀。之后,那些從Zend 內(nèi)存管理獲得永久分配。
相關(guān)學(xué)習(xí)推薦:PHP編程從入門到精通
結(jié)構(gòu)和訪問宏
這里是簡單的zend_string
結(jié)構(gòu):
struct _zend_string { zend_refcounted_h gc; zend_ulong h; size_t len; char val[1]; };
如你所見,該結(jié)構(gòu)嵌入了一個(gè) zend_refcounted_h
標(biāo)頭。這個(gè)是內(nèi)存管理和引用需要用到的。 由于該字符串很有可能作為哈希表檢查的關(guān)鍵字,因此它在 h
字段中嵌入了其哈希值。這是無符號(hào)長整型 zend_ulong
。僅在需要對(duì) zend_string
進(jìn)行哈希處理時(shí)會(huì)用到,特別是和哈希表:zend_array一起用時(shí)。這很有可能。
如你所知,字符串知道其長度為 len
字段,以支持“二進(jìn)制字符串。二進(jìn)制字符串是嵌入一個(gè)或多個(gè) NUL
字符(
主站蜘蛛池模板:
国产精品成人99久久久久91gav
|
1区1区3区4区产品芒果精品|
久久99亚洲综合精品首页|
久久精品中文字幕无码绿巨人
|
国产精品无码专区|
欧美日韩专区麻豆精品在线
|
国产精品视频永久免费播放|
亚洲精品国自产拍在线观看
|
欧美日韩精品|
国产精品国产三级在线专区|
jizz国产精品网站|
午夜精品免费在线观看|
久久精品国产亚洲AV香蕉|
久久精品女人天堂AV麻|
999久久久国产精品|
国产精品一二三区|
国产成人精品男人的天堂538|
中文字幕精品一区二区日本|
国产精品无码无需播放器|
中文字幕精品无码一区二区三区
|
亚州日韩精品专区久久久|
国内精品伊人久久久久网站|
亚洲国语精品自产拍在线观看|
国产精品污视频|
91精品国产综合久久婷婷|
99久久er这里只有精品18|
国产精品美女久久久久久2018|
久久亚洲精品成人av无码网站|
久久精品国产秦先生|
五月花精品视频在线观看
|
久久精品国产一区|
国产精品久久久久久久久鸭|
2022国产精品自产拍在线观看|
精品无码AV无码免费专区|
精品国产乱码一区二区三区|
国精无码欧精品亚洲一区|
国产在线精品一区二区中文|
国产精品免费看久久久|
国产成人精品高清在线观看99
|
99久久久精品免费观看国产|
国产成人精品免费视|