<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        memcached源碼閱讀之庫(kù)函數(shù)介紹

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 12:59:15
        文檔

        memcached源碼閱讀之庫(kù)函數(shù)介紹

        memcached源碼閱讀之庫(kù)函數(shù)介紹:前言 最近下載了 memcached 源碼,準(zhǔn)備研究研究。 但是下載后發(fā)現(xiàn)里面有很多庫(kù)函數(shù)自己沒(méi)見(jiàn)過(guò),于是把這些函數(shù)收集起來(lái)。 后來(lái)發(fā)現(xiàn)我知道的一些函數(shù)讀者可能還不知道,于是把不常見(jiàn)的函數(shù)都記錄下來(lái)吧。 這些函數(shù)都是看 man 的英文手冊(cè)學(xué)習(xí)的,所以可能講解
        推薦度:
        導(dǎo)讀memcached源碼閱讀之庫(kù)函數(shù)介紹:前言 最近下載了 memcached 源碼,準(zhǔn)備研究研究。 但是下載后發(fā)現(xiàn)里面有很多庫(kù)函數(shù)自己沒(méi)見(jiàn)過(guò),于是把這些函數(shù)收集起來(lái)。 后來(lái)發(fā)現(xiàn)我知道的一些函數(shù)讀者可能還不知道,于是把不常見(jiàn)的函數(shù)都記錄下來(lái)吧。 這些函數(shù)都是看 man 的英文手冊(cè)學(xué)習(xí)的,所以可能講解

        前言 最近下載了 memcached 源碼,準(zhǔn)備研究研究。 但是下載后發(fā)現(xiàn)里面有很多庫(kù)函數(shù)自己沒(méi)見(jiàn)過(guò),于是把這些函數(shù)收集起來(lái)。 后來(lái)發(fā)現(xiàn)我知道的一些函數(shù)讀者可能還不知道,于是把不常見(jiàn)的函數(shù)都記錄下來(lái)吧。 這些函數(shù)都是看 man 的英文手冊(cè)學(xué)習(xí)的,所以可能講解

        前言

        最近下載了 memcached 源碼,準(zhǔn)備研究研究。
        但是下載后發(fā)現(xiàn)里面有很多庫(kù)函數(shù)自己沒(méi)見(jiàn)過(guò),于是把這些函數(shù)收集起來(lái)。
        后來(lái)發(fā)現(xiàn)我知道的一些函數(shù)讀者可能還不知道,于是把不常見(jiàn)的函數(shù)都記錄下來(lái)吧。
        這些函數(shù)都是看 man 的英文手冊(cè)學(xué)習(xí)的,所以可能講解的非常淺,如果想深入學(xué)習(xí),可以詢(xún)問(wèn)我或者自行 google 查資料了解。

        想看原理的直接轉(zhuǎn)向 memcached 源碼閱讀之原理篇

        assert

        函數(shù)的含義

        abort the program if assertion is false
        判斷一個(gè)值是否是 false, 如果是false 就退出。

        這個(gè)函數(shù)主要用于程序員做測(cè)試。
        對(duì)于某個(gè)變量應(yīng)該為某個(gè)值的時(shí)候,為了確保那個(gè)變量確實(shí)在是那個(gè)值,可以用 assert 來(lái)?yè)?dān)保。
        如果那個(gè)變量出現(xiàn)意外不是規(guī)定的值,程序?qū)?huì)強(qiáng)制退出,并輸出錯(cuò)誤信息,格式如下

        當(dāng)程序正式使用時(shí),就要關(guān)閉 assert 這個(gè)功能。
        當(dāng)然,我們不會(huì)去一個(gè)一個(gè)的注釋。
        我們可以定義一個(gè)宏 NDEBUG, 定義之后 assert 就會(huì)無(wú)效的。

        頭文件與聲明

        #include 
        void assert(scalar expression);
        //source
        assert(argc > 2);
        //error message
        a.out: timedrun.c:94: int main(int, char**): Assertion `argc > 2' failed.
        Aborted
        

        alarm

        函數(shù)的含義

        set an alarm clock for delivery of a signal
        設(shè)置一個(gè)定時(shí)發(fā)送信號(hào)的 alarm

        這個(gè)函數(shù)主要用于那些需要信號(hào)量的程序中。
        alarm 實(shí)際上就是一個(gè)超時(shí)限制。
        alarm 只能設(shè)置一個(gè),后面的會(huì)覆蓋前面的。

        頭文件與聲明

        #include 
        unsigned int alarm(unsigned int seconds);
        

        fork

        函數(shù)的含義

        create a child process
        創(chuàng)建一個(gè)子進(jìn)程

        創(chuàng)建一個(gè)子進(jìn)程,這個(gè)子進(jìn)程的內(nèi)存空間和父進(jìn)程一樣。
        但是這個(gè)子進(jìn)程和父進(jìn)程還是有一些區(qū)別的,這里不多介紹。

        如果 fork 成功,子進(jìn)程的 PID 會(huì)返回給父進(jìn)程,而在子進(jìn)程中返回的是0.
        如果返回 -1, 代表子進(jìn)程創(chuàng)建失敗。

        頭文件與聲明

        #include 
        pid_t fork(void);
        

        perror

        函數(shù)的含義

        print a system error message

        向標(biāo)準(zhǔn)錯(cuò)誤 輸出一條信息。
        可以簡(jiǎn)單的理解為輸出一條信息。

        頭文件與聲明

        #include 
        void perror(const char *s);
        #include 
        const char *sys_errlist[];
        int sys_nerr;
        int errno;
        

        execvp

        函數(shù)的含義

        execute a file
        執(zhí)行一個(gè)文件
        就是調(diào)用另一個(gè)可執(zhí)行程序。

        頭文件與聲明

        #include 
        extern char **environ;
        int execl(const char *path, const char *arg, ...);
        int execlp(const char *file, const char *arg, ...);
        int execle(const char *path, const char *arg,
         ..., char * const envp[]);
        int execv(const char *path, char *const argv[]);
        int execvp(const char *file, char *const argv[]);
        

        sigaction

        函數(shù)的含義

        examine and change a signal action
        檢查和修改信號(hào) action

        頭文件與聲明

        #include 
        int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
        

        waitpid

        函數(shù)的含義

        wait for process to change state
        等待進(jìn)程去修改狀態(tài) 簡(jiǎn)單的說(shuō)就是等待子進(jìn)程的信號(hào)。
        成功了就返回修改修改狀態(tài)的那個(gè)子進(jìn)程的 PID.
        如果狀態(tài)沒(méi)有修改,返回0,錯(cuò)誤返回 -1.

        WIFEXITED(status) 這個(gè)宏用來(lái)指出子進(jìn)程是否為正常退出的,如果是,它會(huì)返回一個(gè)非零值。
        WEXITSTATUS(status) 當(dāng)WIFEXITED返回非零值時(shí),我們可以用這個(gè)宏來(lái)提取子進(jìn)程的返回值.
        WIFSIGNALED(status) WTERMSIG(status) 當(dāng) WIFSIGNALED 返回非零值時(shí),這個(gè)宏會(huì)導(dǎo)致子進(jìn)程結(jié)束的信號(hào)數(shù)

        頭文件與聲明

        #include 
        #include 
        pid_t wait(int *status);
        pid_t waitpid(pid_t pid, int *status, int options);
        int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options);
        

        signal

        函數(shù)的含義

        ANSI C signal handling
        ANSI C 信號(hào)
        設(shè)置一個(gè)信號(hào)的回調(diào)函數(shù)。
        當(dāng)接受到指定信號(hào)時(shí),執(zhí)行 handler 函數(shù)。

        頭文件與聲明

        #include 
        typedef void (*sighandler_t)(int);
        sighandler_t signal(int signum, sighandler_t handler);
        

        kill

        函數(shù)的含義

        send signal to a process
        給一個(gè)進(jìn)程發(fā)送信號(hào)

        頭文件與聲明

        #include 
        #include 
        int kill(pid_t pid, int sig);
        

        getrlimit setrlimit

        函數(shù)的含義

        get/set resource limits
        得到最大的資源限制

        頭文件與聲明

        #include 
        #include 
        int getrlimit(int resource, struct rlimit *rlim);
        int setrlimit(int resource, const struct rlimit *rlim);
        

        getuid

        函數(shù)的含義

        get user identity
        得到用戶(hù)的身份ID

        頭文件與聲明

        #include 
        #include 
        uid_t getuid(void);
        uid_t geteuid(void);
        

        getpwnam

        函數(shù)的含義

        get password file entry 得到密碼文件實(shí)體

        頭文件與聲明

        #include 
        #include 
        struct passwd *getpwnam(const char *name);
        struct passwd *getpwuid(uid_t uid);
        int getpwnam_r(const char *name, struct passwd *pwd, char *buf, size_t buflen, struct passwd **result);
        int getpwuid_r(uid_t uid, struct passwd *pwd, char *buf, size_t buflen, struct passwd **result);
        

        setgid

        函數(shù)的含義

        set group identity 設(shè)置用戶(hù)組的ID

        頭文件與聲明

        #include 
        #include 
        int setgid(gid_t gid);
        

        setuid

        函數(shù)的含義

        set user identity 設(shè)置用戶(hù)的ID

        頭文件與聲明

        #include 
        #include 
        int setuid(uid_t uid);
        

        sigemptyset

        函數(shù)的含義

        POSIX signal set operations.

        頭文件與聲明

        #include 
        int sigemptyset(sigset_t *set);
        int sigfillset(sigset_t *set);
        int sigaddset(sigset_t *set, int signum);
        int sigdelset(sigset_t *set, int signum);
        int sigismember(const sigset_t *set, int signum);
        

        setsid

        函數(shù)的含義

        creates a session and sets the process group ID

        頭文件與聲明

        #include 
        pid_t setsid(void);
        

        dup2

        函數(shù)的含義

        duplicate a file descriptor

        頭文件與聲明

        #include 
        int dup(int oldfd);
        int dup2(int oldfd, int newfd);
        #define _GNU_SOURCE
        #include 
        int dup3(int oldfd, int newfd, int flags);
        

        mlockall

        函數(shù)的含義

        lock and unlock memory

        頭文件與聲明

        #include 
        int mlock(const void *addr, size_t len);
        int munlock(const void *addr, size_t len);
        int mlockall(int flags);
        int munlockall(void);
        

        getenv

        函數(shù)的含義

        get an environment variable

        頭文件與聲明

        #include 
        char *getenv(const char *name);
        

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        memcached源碼閱讀之庫(kù)函數(shù)介紹

        memcached源碼閱讀之庫(kù)函數(shù)介紹:前言 最近下載了 memcached 源碼,準(zhǔn)備研究研究。 但是下載后發(fā)現(xiàn)里面有很多庫(kù)函數(shù)自己沒(méi)見(jiàn)過(guò),于是把這些函數(shù)收集起來(lái)。 后來(lái)發(fā)現(xiàn)我知道的一些函數(shù)讀者可能還不知道,于是把不常見(jiàn)的函數(shù)都記錄下來(lái)吧。 這些函數(shù)都是看 man 的英文手冊(cè)學(xué)習(xí)的,所以可能講解
        推薦度:
        標(biāo)簽: 閱讀 介紹 最近
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 亚洲欧洲视频在线观看| 亚洲s色大片在线观看| 亚洲乱码一区二区三区国产精品| 日韩精品无码免费一区二区三区| 亚洲av永久无码精品网站| 成人久久免费网站| 亚洲成av人在线视| 中文字幕在线观看免费视频| 亚洲导航深夜福利| 成人免费看吃奶视频网站| 亚洲爆乳少妇无码激情| 亚洲精品tv久久久久久久久久| 成人久久久观看免费毛片| 亚洲真人日本在线| 久久青草精品38国产免费| 亚洲男人的天堂在线| 最近免费中文字幕视频高清在线看| 亚洲日韩精品国产3区| 日韩中文无码有码免费视频 | 免费久久人人爽人人爽av| 亚洲动漫精品无码av天堂| 18观看免费永久视频| 亚洲中文字幕无码久久| 亚洲第一网站男人都懂| 久章草在线精品视频免费观看 | 亚洲中文字幕无码爆乳app| 无码国模国产在线观看免费| 日韩免费高清一级毛片| 亚洲国产精品va在线播放| 无码国产精品一区二区免费式影视| 亚洲avav天堂av在线网毛片| 亚洲视频在线免费| 国产精品怡红院永久免费| 免费无遮挡无码视频网站| 亚洲AV日韩综合一区| 亚洲午夜无码久久久久| 可以免费看黄视频的网站| 国产亚洲精品91| 亚洲AV第一页国产精品| 暖暖免费高清日本中文| 3344在线看片免费|