sys/types.h: 数据类型定义
sys/socket.h: 提供socket函数及数据结构
netinet/in.h : 定义数据结构sockaddr_in
arpa/inet.h : 提供IP地址转换函数
netdb.h : 提供设置及获取域名的函数
sys/poll.h: 提供socket等待测试机制的函数
unistd.h : 提供通用的文件、目录和进程操作的函数
errno.h : 提供错误号errno的定义,用于错误处理
fcntl.h : 提供对文件控制的函数
time.h : 提供有关时间的函数
crypt.h : 提供使用DES加密算法的加密函数
pwd.h : 提供对/etc/passwd文件访问的函数
shadow.h : 提供对/etc/shadow文件访问的函数
pthread.h : 提供多线程操作的函数
signal.h : 提供对信号操作的函数
sys/wait.h , sys/ipc.h ,sys/shm.h : 提供进程等待,进程间通信及共享内存的函数
在编写网络程序时,可以直接使用下面头文件代码:
#include <unistd.h>
#include <sys/types.h>
#include<sys/socket.h>
#include<netdb.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#include<errno.h>
#include<malloc.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<sys/ioctl.h>
#include<stdarg.h>
#include<fcntl.h>
涉及到用户权限及密码验证时加入如下语句:
#include<shadow.h>
#include<crypt.h>
#include<pwd.h>
编译时增加链接加密算法库,增加编译选项:-lcrypt
涉及到文件及时间操作加入如下语句;
#include<sys/time.h>
#include<utime.h>
#include<time.h>
#include<sys/stat.h>
#include<sys/file.h>
涉及到多线程操作时加入如下语句:
#include<sys/wait.h>
#include<sys/ipc.h>
#include<sys/shm.h>
#include<signal.h>
涉及到多线程操作时加入如下语句:
#include<pthread.h>
#include<sys/poll.h>
应该在编译时链接线程库,增加编译选项:-lthread