欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C/C++编程常引用到的头文件

程序员文章站 2024-01-14 21:12:10
...

1.POSIX标准
  POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,其正式称呼为IEEE 1003,而国际标准名称为ISO/IEC 9945。
  POSIX标准目的是提高软件可移植性。通俗地说,即是一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统上编译执行,即使是来自不同的操作系统厂商。如常用的桌面系统Windows、Linux等,及其他符合POSIX标准的系统或者库,如RT-Thread(RTOS)实时系统、Qt库,或者我们程序员编写的符合POSIX的C/C++程序库。因此,基于POSIX标准开发,非常便于程序的移植,常用POSIX头文件如下。

#include <dirent.h>         //目录项  
#include <fcntl.h>          //文件控制  
#include <fnmatch.h>        //文件名匹配类型  
#include <glob.h>           //路径名模式匹配类型  
#include <grp.h>            //组文件  
#include <netdb.h>          //网络数据库操作  
#include <pwd.h>            //口令文件  
#include <regex.h>          //正则表达式  
#include <tar.h>            //TAR归档值  
#include <termios.h>        //终端I/O  
#include <unistd.h>         //符号常量  
#include <utime.h>          //文件时间  
#include <wordexp.h>        //字符扩展类型  
-------------------------  
#include <arpa/inet.h>      //INTERNET定义  
#include <net/if.h>         //套接字本地接口  
#include <netinet/in.h>     //INTERNET地址族  
#include <netinet/tcp.h>    //传输控制协议定义  
-------------------------   
#include <sys/mman.h>       //内存管理声明  
#include <sys/select.h>     //Select函数  
#include <sys/socket.h>     //套接字借口  
#include <sys/stat.h>       //文件状态  
#include <sys/times.h>      //进程时间  
#include <sys/types.h>      //基本系统数据类型  
#include <sys/un.h>         //UNIX域套接字定义  
#include <sys/utsname.h>    //系统名  
#include <sys/wait.h>       //进程控制  
-------------------------  
//POSIX定义的XSI扩展头文件  
#include <cpio.h>           //cpio归档值   
#include <dlfcn.h>          //动态链接  
#include <fmtmsg.h>         //消息显示结构  
#include <ftw.h>            //文件树漫游  
#include <iconv.h>          //代码集转换使用程序,如GB2312、UTF-8  
#include <langinfo.h>       //语言信息常量  
#include <libgen.h>         //模式匹配函数定义  
#include <monetary.h>       //货币类型  
#include <ndbm.h>           //数据库操作  
#include <nl_types.h>       //消息类别  
#include <poll.h>           //轮询函数  
#include <search.h>         //搜索表  
#include <strings.h>        //字符串操作  
#include <syslog.h>         //系统出错日志记录  
#include <ucontext.h>       //用户上下文  
#include <ulimit.h>         //用户限制  
#include <utmpx.h>          //用户帐户数据库   
----------------------- 
#include <sys/ipc.h>        //IPC(命名管道)  
#include <sys/msg.h>        //消息队列  
#include <sys/resource.h>   //资源操作  
#include <sys/sem.h>        //信号量  
#include <sys/shm.h>        //共享存储  
#include <sys/statvfs.h>    //文件系统信息  
#include <sys/time.h>       //时间类型  
#include <sys/timeb.h>      //附加的日期和时间定义  
#include <sys/uio.h>        //矢量I/O操作  
----------------------- 
//POSIX定义的可选头文件  
#include <aio.h>            //异步I/O  
#include <mqueue.h>         //消息队列  
#include <pthread.h>        //线程  
#include <sched.h>          //执行调度  
#include <semaphore.h>      //信号量  
#include <spawn.h>          //实时spawn接口  
#include <stropts.h>        //XSI STREAMS接口  
#include <trace.h>          //事件跟踪  

2.C标准(C99、C11)
  C标准,即ANSI C,是美国国家标准协会(ANSI)对C语言发布的标准。使用C语言开发时应该遵循ANSI C文档的要求,以便该C语言代码具有良好的跨平台特性。ANSI C支持众多编译器,C语言作为高级语言的鼻祖,应用于计算机各行业中。C标准经历了C89、C90、C99、C11的几个完善过程,目前最新的标准是C11。

#include <assert.h>    //设定插入点,提供断言,assert(表达式)。
#include <ctype.h>     //字符处理  
#include <errno.h>     //定义错误码  
#include <float.h>     //浮点数处理  
#include <iso646.h>       //对应各种运算符的宏  
#include <limits.h>    //定义各种数据类型最值的常量  
#include <locale.h>    //定义本地化C函数  
#include <math.h>     //定义数学函数  
#include <setjmp.h>      //异常处理支持  
#include <signal.h>      //信号机制支持  
#include <stdarg.h>      //不定参数列表支持  
#include <stddef.h>      //常用常量  
#include <stdio.h>    //标准输入/输出函数  
#include <stdlib.h>   //定义杂项函数及内存分配函数  
#include <string.h>   //字符串处理  
#include <time.h>    //定义关于时间的函数  
#include <wchar.h>      //宽字符处理及输入/输出  
#include <wctype.h>     //宽字符分类  
#include <stdint.h>     //定义了几种扩展的整数类型和宏

3.C++标准(C++ 11及以上)
  C++作为C语言的衍生语言,几乎包括了C语言的全部特性,同时拥有自己与C语言本质的区别及的特有优势(面向对象与向过程)。C++作为面向对象语言,具有极高的效率,一般应用在游戏、图像处理、视频流媒体等,同时在一些情况下,有些人建议少用C++的STL(Standard Template Library)库,效率问题?一般情况下,使用标准库,会大大提高开发效率,非特别严格的情况执行效率几乎可以忽略。对于Qt(C++)开发,Qt本身有自己一套封装库,与STL库功能类似,开发Qt程序可以不用STL库,直接使用Qt本身的封装库,函数接口上命名上基本一致,使用起来也容易快速上手。C++标准也经历了C++ 98、C++ 03、C++ 11、C++14、C++ 17,常规C++程序开发,使用到的是C++03标准,从C++ 11开始,增加许多新特性,这方面还需要在实际项目中体验。C++ 17也即将发布。

//传统C++(C++ 03以前)  
#include <fstream.h>    //改用<fstream>  
#include <iomanip.h>    //改用<iomainip>  
#include <iostream.h>   //改用<iostream>  
#include <strstrea.h>   //该类不再支持,改用<sstream>中的stringstream  
//标准C++(C++ 03、C++ 11至后面标准) 
#include <algorithm>    //STL 通用算法  
#include <bitset>     //STL 位集容器  
#include <cctype>         //字符处理  
#include <cerrno>      //定义错误码  
#include <cfloat>      //浮点数处理  
#include <ciso646>        //对应各种运算符的宏  
#include <climits>     //定义各种数据类型最值的常量  
#include <clocale>     //定义本地化函数  
#include <cmath>      //定义数学函数  
#include <complex>     //复数类  
#include <csignal>         //信号机制支持  
#include <csetjmp>         //异常处理支持  
#include <cstdarg>         //不定参数列表支持  
#include <cstddef>         //常用常量  
#include <cstdio>       //定义输入/输出函数  
#include <cstdlib>      //定义杂项函数及内存分配函数  
#include <cstring>      //字符串处理  
#include <ctime>       //定义关于时间的函数  
#include <cwchar>      //宽字符处理及输入/输出  
#include <cwctype>     //宽字符分类  
#include <deque>       //STL 双端队列容器  
#include <exception>    //异常处理类  
#include <fstream>      //文件输入/输出  
#include <functional>   //STL 定义运算函数(代替运算符)  
#include <limits>      //定义各种数据类型最值常量  
#include <list>       //STL 线性列表容器  
#include <locale>          //本地化特定信息  
#include <map>        //STL 映射容器  
#include <memory>         //STL通过分配器进行的内存分配  
#include <new>            //动态内存分配  
#include <numeric>        //STL常用的数字操作  
#include <iomanip>      //参数化输入/输出  
#include <ios>        //基本输入/输出支持  
#include <iosfwd>     //输入/输出系统使用的前置声明  
#include <iostream>     //数据流输入/输出  
#include <istream>     //基本输入流  
#include <iterator>       //STL迭代器  
#include <ostream>     //基本输出流  
#include <queue>      //STL 队列容器  
#include <set>       //STL 集合容器  
#include <sstream>     //基于字符串的流  
#include <stack>      //STL 堆栈容器  
#include <stdexcept>    //标准异常类  
#include <streambuf>    //底层输入/输出支持  
#include <string>     //字符串类  
#include <typeinfo>       //运行期间类型信息  
#include <utility>     //STL 通用模板类  
#include <valarray>       //对包含值的数组的操作  
#include <vector>     //STL 动态数组容器