`
文章列表
    相关函数列表 //管道 #include <unistd.h> int pipe(int fd[2]); //标准I/O库提供了两个函数,实现的操作是创建一个管道fork一个子进程关闭未 //使用的管道端,执行一个shell运行命令,然后等待命令终止 //type类似fopen函数 ...
    相关函数列表 //调用open函数时指定O_NONBLOCK参数即可打开非阻塞I/O //记录锁 #include <fcntl.h> int fcntl(int fd, int cmd, ... /* struct flock *flockptr */ ); //锁记录的 flock结构体 struct flock { short l_type; //希望加锁的类型(读锁,写锁,解锁) short l_whence; //要加锁的偏移类型SEEK_SET,SEEK_CUR,SEEK_END of ...
      相关函数列表 //syslog函数 #include <syslog.h> void openlog(const char *ident, int option, int facility); void syslog(int priority, const char *format,...); void closelog(void); int setlogmask(int maskpri); //除syslog,很多平台还提供它的一种变体来处理可变参数列表 #include <syslog.h> #include <std ...
    相关函数列表 //线程属性,pthread_attr_t结构体保护的就是操作系统实现支持的所有线程属性 //下面所有函数都是是成功返回0,否则返回错误编号 #include <pthread.h> int pthread_attr_init(pthread_attr_t *attr); int pthread_attr_destroy(pthread_attr_t *attr); //如果对某个线程终止状态不感兴趣,可以使用pthread_detach函数让系统在 //线程退出时收回所占用的资源 //可以detachstate为以下两个值 //1 ...
    相关函数列表 //对两个线程ID进行比较 //若相等返回非0数值,否则返回0 #include <pthread.h> int pthread_equal(pthread_t tid1, pthread_t tid2); //获得线程自身的ID #include <pthread.h> pthread_t pthread_self(void); //创建新线程 //pt ...
    相关函数列表 //系统信号机制最简单的接口是signal函数 #include <signal.h> void (*signal(int signo, void (*func)(int))) (int); //kill可以将信号发送给进程或进程组,raise允许进程向自身发送信号 #include <signal.h> int kill(pid_t pid, int signo); int raise(int signo); //raise(signo) 等于 kill(getpid(), signo) //kill的pid参数 ...
    相关函数列表 //返回调用进程的进程组ID #include <unistd.h> pid_t getpgrp(void); pid_t getpgid(pid_t pid); //getpgid(0) 等于 getpgrp() //创建一个新会话 #include <unistd.h> pid_t setsid(void); pid_t getsid(get_t pid); //返回会话首进程 ...
    相关函数列表 //下列函数返回一个进程的标识符 #include <unistd.h> pid_t getpid(void); pid_t getppid(void); uid_t getuid(void); uid_t geteuid(void); gid_t getgid(void); gid_t getegid(void); //创建新进程 #include <unistd.h> pid_t fork(void); pi ...
    相关函数列表 //退出函数 #include <stdlib.h> void exit(int status); void _Exit(int status); #include <unistd.h> void _exit(int status); //按照ISO C的规定,一个进程可以登记多至32个函数,这些函数将由exit自动 //调用。我们称这些函数为终止处理程序(exit handler),并调用atexit函数来 //登记这些函数,这个函数起始就是注册退出钩子函数,退出程序时执行一些自定义的函数 //执行的顺序和注册的顺序 ...
    相关函数列表 //passwd结构体 /etc/passwd struct passwd { char *pw_name; //用户名 char *pw_passwd; //加密口令 uid_t pw_uid; //数值用户ID gid_t pw_gid; //数值组ID char *pw_gecos; //注释字段 char *pw_dir; //初始化工作目录 char *pw_shell; ...
    相关函数列表 //设置流的定向 #include <stdio.h> #include <wchar.h> int fwide(FILE *fp, int mode); //标准输入,标准输出,标准错误 #include <stdio.h> //stdin,stdout,stderr //设置缓冲区 #include <stdio.h> void setbuf(FILE ...
      相关函数列表 //stat获取文件的状态信息 //fstat 根据fd返回相关信息 //lstat 返回该符号链接有关信息 //fstatat为一个相当于当前打开目录的路径名返回文件统计信息 #include <sys/stat.h> int stat(const char *restrict pathname, struct stat *restrict buf); int fstat(int fd, struct stat *buf); int fstat(const char *restrict pathname, struct stat ...
      #include <fcntl.h> int open(const char *path, int oflag, /* mode_t mode */ ); int openat(int fd, const char *path, int oflag, /* mode_t mode */ ); //返回文件描述符 STDIN_FILENO //标准输入 STDOUT_FILENO //标准输出 #include<fcntl.h> int creat(const char *path, mode_t moe); // ...
    源文件和头文件 源文件的扩展名是 .c 结尾,每个源文件包含函数和变量定义,其中一个源文件包含main()函数 多个源文件可以共享一些变量和函数,通过#include指令包含进来,这种包含的文件就是 头文件,扩展名是.h // ...
  位运算符 使用底层技术进行一些位操作,可以编写加密,视频程序,以及需要高速执行或高效利用空间的程序非常有用。但是过度依赖底层操作会导致程序丧失可移植性。如果一定要使用尽量将操作限定在特定的模块中而不要分散在各处。 符号 含义 << 左移位 >> 右移位 ~ 按位求反 & 按位与 ^ 按位异或 | 按位或 为了可移植性,最好仅对无符号数进行移位运算 优先级来说,依次是 ~ ,&, ^, | //这些操作符不会改变原有变量的值,所以需要如下 i <<= 2; ...
Global site tag (gtag.js) - Google Analytics