linux下编程常用头文件一览
==============================================================================================
<assert.h >         验证程序断言
<cpio.h >           cpio
归档值
<ctype.h >          
字符类型
<dirent.h >        
目录项
<errno.h >          
出错码
<fcntl.h >          
文件控制
<float.h >          
浮点常数
<signal.h >        
信号
<stdarg.h >        
可变参数表
<stddef.h >        
标准定义
<stdio.h >          
标准I/O
<stdlib.h >        
公用函数
<string.h >        
字符串操作
<tar.h >             tar
归档值
<termios.h >        
终端I/O  
<time.h >          
时间和日期
<ulimit.h >        
用户限制
<unistd.h >        
符号常数
<utime.h >          
文件时间
<sys/ipc.h >         IPC  
<sys/msg.h >        
消息队列
<sys/sem.h >        
信号量
<sys/shm.h >        
共享存储
<sys/stat.h >      
文件状态
<sys/times.h >      
进程时间
<sys/types.h >      
原系统数据类型
<sys/wait.h >      
进程控制

C/C++头文件一览
=============================================================================================

C、传统 C++

#include <assert.h>
//设定插入点
#include <ctype.h>
//字符处理
#include <errno.h>
//定义错误码
#include <float.h>
//浮点数处理
#include <fstream.h>
//文件输入/输出
#include <iomanip.h>
//参数化输入/输出
#include <iostream.h>
//数据流输入/输出
#include <limits.h>
//定义各种数据类型最值常量
#include <locale.h>
//定义本地化函数
#include <math.h>
//定义数学函数
#include <stdio.h>
//定义输入/输出函数
#include <stdlib.h>
//定义杂项函数及内存分配函数
#include <string.h>
//字符串处理
#include <strstrea.h>
//基于数组的输入/输出
#include <time.h>
//定义关于时间的函数
#include <wchar.h>
//宽字符处理及输入/输出
#include <wctype.h>
//宽字符分类

//

标准 C++ (同上的不再注释)

#include <algorithm>
//STL 通用算法
#include <bitset>
//STL 位集容器
#include <cctype>
#include <cerrno>
#include <clocale>
#include <cmath>
#include <complex>
//复数类
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>
//STL 双端队列容器
#include <exception>
//异常处理类
#include <fstream>
#include <functional>
//STL 定义运算函数(代替运算符)
#include <limits>
#include <list>
//STL 线性列表容器
#include <map>
//STL 映射容器
#include <iomanip>
#include <ios>
//基本输入/输出支持
#include <iosfwd>
//输入/输出系统使用的前置声明
#include <iostream>
#include <istream>
//基本输入流
#include <ostream>
//基本输出流
#include <queue>
//STL 队列容器
#include <set>
//STL 集合容器
#include <sstream>
//基于字符串的流
#include <stack>
//STL 堆栈容器    
#include <stdexcept>
//标准异常类
#include <streambuf>
//底层输入/输出支持
#include <string>
//字符串类
#include <utility>
//STL 通用模板类
#include <vector>
//STL 动态数组容器
#include <cwchar>
#include <cwctype>

using namespace std;

//

C99
增加

#include <complex.h>
//复数处理
#include <fenv.h>
//浮点环境
#include <inttypes.h>
//整数格式转换
#include <stdbool.h>
//布尔环境
#include <stdint.h>
//整型环境
#include <tgmath.h>
//通用类型数学宏

 

/

socket编程时常要用到:
sys/types.h
:数据类型定义
sys/socket.h
:提供socket函数及数据结构
netinet/in.h
:定义数据结构sockaddr_in
arpa/inet.h
:提供IP地址转换函数
netdb.h
:提供设置及获取域名的函数
sys/ioctl.h
:提供对I/O控制的函数
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.hsys/shm.h:提供进程等待、进程间通讯(IPC)及共享内存的函数

 

 

想知道一个函数需要包含哪些头文件,需要连接哪些库,可以用man看一下 $> man  function_name

比如
man   2   socket

告诉你需要包含:
              #include   <sys/types.h>
              #include   <sys/socket.h>

man   sin:

              #include   <math.h>
              Link   with   -lm.

 

有几种方法可以定位一个文件:
locate   xxxx
whereis   xxxx
find   /usr/include   -name   "xxxx "

不过你的那个文件有可能不是标准的系统带的头文件,可能是书中自己写的头文件


Logo

更多推荐