libfastcommonC 基礎(chǔ)庫(kù)
libfastcommon是一款開源的C基礎(chǔ)庫(kù),她是從FastDFS項(xiàng)目中剝離出來的C基礎(chǔ)庫(kù)。這個(gè)庫(kù)非常簡(jiǎn)單、高效和穩(wěn)定,提供的函數(shù)主要包括如下幾類:
string:字符串處理;
logger:日志記錄,支持日志輪轉(zhuǎn)、日志壓縮等特性;
ini file reader:ini配置文件解析,支持include、標(biāo)注和簡(jiǎn)單邏輯處理如#@if 和 #@for;
id generator:64位ID生成器,本地生成可做到全局唯一;
hash:hashtable封裝;
avl tree:平衡二叉樹;
socket op:網(wǎng)絡(luò)IO處理;
ioevent:epoll封裝,支持 Linux, FreeBSD 和 SunOS;
io buffer management: 網(wǎng)絡(luò)IO buffer管理;
fast timer:時(shí)間輪,通常用于高效處理網(wǎng)絡(luò)超時(shí);
skiplist:跳表;
mblock & object pool:內(nèi)存池和對(duì)象池;
base64 encode / decode:base64編解碼,+和/這兩個(gè)字符可以自定義;
url encode / decode::URL編解碼
local ip functions:獲取本機(jī)IPv4地址;
system info functions:可以獲取系統(tǒng)信息,包括CPU數(shù)量、內(nèi)存大小、系統(tǒng)負(fù)載(load)、進(jìn)程信息等等;
process control:基于進(jìn)程號(hào)(pid)文件的進(jìn)程控制,包括:start、stop和restart;
task schedule:定時(shí)任務(wù)處理,支持動(dòng)態(tài)添加定時(shí)任務(wù);
char convert:快速字符轉(zhuǎn)換。
更多函數(shù)信息,請(qǐng)參閱源碼中的C頭文件。
對(duì)于部分函數(shù),如 id generator、 local ip、system info等,提供了PHP封裝,支持PHP5和PHP7。php擴(kuò)展在子目錄php-fastcommon下。
