国产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
主站蜘蛛池模板: 久久亚洲精选 | 国产99在线观看 | 日本六十路丰满老太交尾 | 国产精品美女久久久久 | 国产高清免费视频 | 广州一级毛片 | 欧美日韩另类综合 | 伊人久久综合网亚洲 | 一97日本道伊人久久综合影院 | 在线免费黄色 | 日韩视频区 | 性xxxx欧美| 热久久国产欧美一区二区精品 | 日韩一区二区免费视频 | 综合婷婷 | 精品久久久久久久一区二区手机版 | 欧美日本一区二区三区 | 欧美阿v高清资源在线 | 国产精品久久久久久久久99热 | 欧美一区三区 | 欧美国产成人精品一区二区三区 | 欧美日本免费一区二区三区 | 一区二区三区在线视频播放 | 三级中文字幕电影大全 | 中文国产成人精品久久一区 | 五月精品 | 国产第4页 | 国产日韩欧美 | 久久91精品国产91久久跳舞 | 国产精品亚洲欧美一区麻豆 | 一区二区视频在线观看 | 国产青草视频在线观看 | 国产成人精品日本亚洲11 | 国产精品久久久久久久久99热 | 久久无码精品一区二区三区 | 国产精品日韩精品 | 国产精品一区在线观看 | 在线观看亚洲视频 | 久久精品国产免费中文 | 中文字幕有码在线观看 | 日韩成人在线电影 |