- Notifications
You must be signed in to change notification settings - Fork 54
Home
果冻虾仁 edited this page Nov 4, 2017 · 32 revisions
- 基于文件描述符
- 基于数据流 ANSI C
| fopen | fclose |
|---|---|
| fwrite | fread |
| fputc | fgetc |
| fputs | fgets |
| feof | ferror |
| fseek | rewind |
| ftell |
IPC 进程间通信
| pipe | mkfifo |
|---|
2. 信号处理
3.1 IPC对象 System V
| 消息队列 | 信号量 | 共享内存 |
|---|---|---|
| msgget | semget | shmget |
| msgctl | semctl | shmctl |
| msgsnd | semop | shmat |
| msgrcv | shmdt |
3.2 IPC对象 POSIX
4. 网络编程
| 套接字结构 | 套接字函数 |
|---|---|
| 字节序转换 | 地址转换 |
| 主机 | 服务 |
1. 进程控制
| fork | vfork |
|---|---|
| exec~ | system |
| wait | waitpid |
2. 多线程
- 基本编程
3. IO多路复用
4. 异步IO(AIO)
| ANSI C | POSIX |
|---|---|
| time | gettimeofday |
| difftime | getitimer |
| localtime | |
| ctime |
| 函数 | 描述 |
|---|---|
| uname | 得到内核的名称和信息 |
| getpwuid | 通过uid获得相应的结构体passwd |
| getpwnam | 通过用户名获得相应的结构体passwd |
| getspnam | 通过用户名获得结构体spwd(内包含密码) |
| getgrgid | 通过gid获得相应的结构体group |
| getgrnam | 通过组名获得相应的结构体group |
| getenv | 获取系统环境变量的值 |
Talk is cheap, show me the code!
C语言API包含部分标准C的API、POSIX标准的系统编程API(一些Linux独有的系统API会单独注明)。
大部分头文件源码在/usr/include目录下。
因为涉及到大量的POSIX编程。所以最好下载POSIX函数的man手册。
apt-get install manpages-posix apt-get install manpages-posix-dev 默认安装了manpages-dev,所以不装POSIX的man手册是可以查看绝大部分API的。
但是不装的话,有些API是不能看到的,比如posix_spawn函数。
yum install man-pages.noarch 关于目录
左侧的目录并非以函数为索引依据,主要是以系统的man手册页面为索引依据。
比如exec里面包含6个函数、pipe里面包含pipe()和pipe2()两个函数,但是它们都是属于一个man页面中。