www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 嵌入式大雜燴
[導(dǎo)讀]大家好,我是雜燴君。嵌入式大雜燴周記主要是一些實(shí)用項(xiàng)目學(xué)習(xí)分享,每篇一個(gè)主題。SDS 是 C 的字符串庫(kù),旨在通過(guò)添加堆分配的字符串來(lái)增強(qiáng)有限的 libc 字符串處理功能。

大家好,我是雜燴君。

嵌入式大雜燴周記主要是一些實(shí)用項(xiàng)目學(xué)習(xí)分享,每篇一個(gè)主題。

SDS 是 C 的字符串庫(kù),旨在通過(guò)添加堆分配的字符串來(lái)增強(qiáng)有限的 libc 字符串處理功能。

SDS 字符串庫(kù)特點(diǎn):

(1)計(jì)算效率更高。獲取字符串長(zhǎng)度所需的復(fù)雜度從O(N)降低到了O(1),所以即使獲取一個(gè)非常長(zhǎng)的字符串長(zhǎng)度,也不會(huì)對(duì)系統(tǒng)性能造成任何影響,因?yàn)樵撁畹臅r(shí)間復(fù)雜度僅為O(1)。

(2)二進(jìn)制安全。SDS 字符串函數(shù)是二進(jìn)制安全的,因此無(wú)論內(nèi)容如何,長(zhǎng)度都是字符串的真實(shí)長(zhǎng)度,如果字符串中間包含空字符,也沒(méi)有問(wèn)題。而C字符串函數(shù)遇到空字符結(jié)束。

(3)SDS 字符串函數(shù)杜絕緩沖區(qū)溢出。

(4)SDS 字符串函數(shù)減少修改字符串時(shí)帶來(lái)的內(nèi)存重分配次數(shù)。

(5)SDS 字符串函數(shù)兼容部分C字符串函數(shù)。

sds的使用

1、sds結(jié)構(gòu)

struct sds { uint8_t len; /* used */ uint8_t alloc; /* excluding the header and null terminator */ unsigned char flags; /* 3 lsb of type, 5 unused bits */ char buf[];
};

用到了柔性數(shù)組,

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀
關(guān)閉