国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

memcached源碼閱讀之庫函數介紹

來源:懂視網 責編:小采 時間:2020-11-09 12:59:15
文檔

memcached源碼閱讀之庫函數介紹

memcached源碼閱讀之庫函數介紹:前言 最近下載了 memcached 源碼,準備研究研究。 但是下載后發現里面有很多庫函數自己沒見過,于是把這些函數收集起來。 后來發現我知道的一些函數讀者可能還不知道,于是把不常見的函數都記錄下來吧。 這些函數都是看 man 的英文手冊學習的,所以可能講解
推薦度:
導讀memcached源碼閱讀之庫函數介紹:前言 最近下載了 memcached 源碼,準備研究研究。 但是下載后發現里面有很多庫函數自己沒見過,于是把這些函數收集起來。 后來發現我知道的一些函數讀者可能還不知道,于是把不常見的函數都記錄下來吧。 這些函數都是看 man 的英文手冊學習的,所以可能講解

前言 最近下載了 memcached 源碼,準備研究研究。 但是下載后發現里面有很多庫函數自己沒見過,于是把這些函數收集起來。 后來發現我知道的一些函數讀者可能還不知道,于是把不常見的函數都記錄下來吧。 這些函數都是看 man 的英文手冊學習的,所以可能講解

前言

最近下載了 memcached 源碼,準備研究研究。
但是下載后發現里面有很多庫函數自己沒見過,于是把這些函數收集起來。
后來發現我知道的一些函數讀者可能還不知道,于是把不常見的函數都記錄下來吧。
這些函數都是看 man 的英文手冊學習的,所以可能講解的非常淺,如果想深入學習,可以詢問我或者自行 google 查資料了解。

想看原理的直接轉向 memcached 源碼閱讀之原理篇

assert

函數的含義

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

這個函數主要用于程序員做測試。
對于某個變量應該為某個值的時候,為了確保那個變量確實在是那個值,可以用 assert 來擔保。
如果那個變量出現意外不是規定的值,程序將會強制退出,并輸出錯誤信息,格式如下

當程序正式使用時,就要關閉 assert 這個功能。
當然,我們不會去一個一個的注釋。
我們可以定義一個宏 NDEBUG, 定義之后 assert 就會無效的。

頭文件與聲明

#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

函數的含義

set an alarm clock for delivery of a signal
設置一個定時發送信號的 alarm

這個函數主要用于那些需要信號量的程序中。
alarm 實際上就是一個超時限制。
alarm 只能設置一個,后面的會覆蓋前面的。

頭文件與聲明

#include 
unsigned int alarm(unsigned int seconds);

fork

函數的含義

create a child process
創建一個子進程

創建一個子進程,這個子進程的內存空間和父進程一樣。
但是這個子進程和父進程還是有一些區別的,這里不多介紹。

如果 fork 成功,子進程的 PID 會返回給父進程,而在子進程中返回的是0.
如果返回 -1, 代表子進程創建失敗。

頭文件與聲明

#include 
pid_t fork(void);

perror

函數的含義

print a system error message

向標準錯誤 輸出一條信息。
可以簡單的理解為輸出一條信息。

頭文件與聲明

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

execvp

函數的含義

execute a file
執行一個文件
就是調用另一個可執行程序。

頭文件與聲明

#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

函數的含義

examine and change a signal action
檢查和修改信號 action

頭文件與聲明

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

waitpid

函數的含義

wait for process to change state
等待進程去修改狀態 簡單的說就是等待子進程的信號。
成功了就返回修改修改狀態的那個子進程的 PID.
如果狀態沒有修改,返回0,錯誤返回 -1.

WIFEXITED(status) 這個宏用來指出子進程是否為正常退出的,如果是,它會返回一個非零值。
WEXITSTATUS(status) 當WIFEXITED返回非零值時,我們可以用這個宏來提取子進程的返回值.
WIFSIGNALED(status) WTERMSIG(status) 當 WIFSIGNALED 返回非零值時,這個宏會導致子進程結束的信號數

頭文件與聲明

#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

函數的含義

ANSI C signal handling
ANSI C 信號
設置一個信號的回調函數。
當接受到指定信號時,執行 handler 函數。

頭文件與聲明

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

kill

函數的含義

send signal to a process
給一個進程發送信號

頭文件與聲明

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

getrlimit setrlimit

函數的含義

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

頭文件與聲明

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

getuid

函數的含義

get user identity
得到用戶的身份ID

頭文件與聲明

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

getpwnam

函數的含義

get password file entry 得到密碼文件實體

頭文件與聲明

#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

函數的含義

set group identity 設置用戶組的ID

頭文件與聲明

#include 
#include 
int setgid(gid_t gid);

setuid

函數的含義

set user identity 設置用戶的ID

頭文件與聲明

#include 
#include 
int setuid(uid_t uid);

sigemptyset

函數的含義

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

函數的含義

creates a session and sets the process group ID

頭文件與聲明

#include 
pid_t setsid(void);

dup2

函數的含義

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

函數的含義

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

函數的含義

get an environment variable

頭文件與聲明

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

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

memcached源碼閱讀之庫函數介紹

memcached源碼閱讀之庫函數介紹:前言 最近下載了 memcached 源碼,準備研究研究。 但是下載后發現里面有很多庫函數自己沒見過,于是把這些函數收集起來。 后來發現我知道的一些函數讀者可能還不知道,于是把不常見的函數都記錄下來吧。 這些函數都是看 man 的英文手冊學習的,所以可能講解
推薦度:
標簽: 閱讀 介紹 最近
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 97在线资源 | 成人欧美一区二区三区 | 日韩欧美偷拍 | 怡红院一区二区三区 | 免费中文字幕 | 欧美v日韩v亚洲v最新 | 亚洲欧美偷拍另类 | 国产特级全黄一级毛片不卡 | 精品国产a| 国产精品免费观看 | 青草青草伊人精品视频 | 理论片国产 | 精品一成人岛国片在线观看 | 免费精品国产日韩热久久 | 亚洲伊人久久综合一区二区 | 日韩欧美激情 | 欧美不卡视频 | 欧美精品一区二区三区免费观看 | 免费国产黄网站在线观看视频 | 美日韩在线视频 | 日韩中文字幕第一页 | 久久国产精品一区二区 | 最新国产精品亚洲 | 青草视频在线观看免费 | 国产网站在线看 | 中文字幕第四页 | 欧美中文娱乐网 | 亚洲欧美中文日韩综合 | 国产日本精品 | 国产精品亚洲精品观看不卡 | 亚洲欧美日韩激情在线观看 | 精品一区二区免费视频 | 成人久久精品一区二区三区 | www欧美在线观看 | 黄色a一级视频 | 日韩一区二区久久久久久 | 国产精品高清一区二区 | www.日韩在线 | 欧美日韩高清一区 | 亚洲国产精品嫩草影院久久 | 亚洲欧洲国产成人综合一本 |