如何搜索头文件类型
    参考书、文档、网站、资料

    1. #include <assert.h> //ANSI C。提供断言,assert(表达式)
    2. #include <glib.h> //GCC。GTK,GNOME的基础库,提供很多有用的函数,如有数据结构操作函数
    3. #include <dirent.h> //GCC。文件夹操作函数
    4. #include <ctype.h> //ANSI C。字符测试函数。isdigit(),islower()等
    5. #include <errno.h> //ANSI C。查看错误代码errno是调试程序的一个重要方法
    6. #include <getopt.h> //处理命令行参数

    inux常用头文件

    1. -------------------------
    2. POSIX标准定义的头文件
    3. <dirent.h> 目录项
    4. <fcntl.h> 文件控制
    5. <fnmatch.h> 文件名匹配类型
    6. <glob.h>  路径名模式匹配类型
    7. <grp.h> 组文件
    8. <netdb.h> 网络数据库操作
    9. <pwd.h> 口令文件
    10. <regex.h> 正则表达式
    11. <tar.h> TAR归档值
    12. <termios.h> 终端I/O
    13. <unistd.h> 符号常量
    14. <utime.h> 文件时间
    15. <wordexp.h> 字符扩展类型
    16. -------------------------
    17. <arpa/inet.h> INTERNET定义
    18. <net/if.h>   套接字本地接口
    19. <netinet/in.h> INTERNET地址族
    20. <netinet/tcp.h> 传输控制协议定义
    21. -------------------------
    22. <sys/mman.h> 内存管理声明
    23. <sys/select.h> Select函数
    24. <sys/socket.h> 套接字借口
    25. <sys/stat.h> 文件状态
    26. <sys/times.h> 进程时间
    27. <sys/types.h> 基本系统数据类型
    28. <sys/un.h> UNIX域套接字定义
    29. <sys/utsname.h> 系统名
    30. <sys/wait.h> 进程控制
    31. ------------------------------
    32. POSIX定义的XSI扩展头文件
    33. <cpio.h> cpio归档值
    34. <dlfcn.h> 动态链接
    35. <fmtmsg.h> 消息显示结构
    36. <ftw.h> 文件树漫游
    37. <iconv.h> 代码集转换使用程序
    38. <langinfo.h> 语言信息常量
    39. <libgen.h> 模式匹配函数定义
    40. <monetary.h> 货币类型
    41. <ndbm.h> 数据库操作
    42. <nl_types.h> 消息类别
    43. <poll.h> 轮询函数
    44. <search.h> 搜索表
    45. <strings.h> 字符串操作
    46. <syslog.h> 系统出错日志记录
    47. <ucontext.h> 用户上下文
    48. <ulimit.h> 用户限制
    49. <utmpx.h> 用户帐户数据库
    50. -----------------------------
    51. <sys/ipc.h> IPC(命名管道)
    52. <sys/msg.h> 消息队列
    53. <sys/resource.h> 资源操作
    54. <sys/sem.h> 信号量
    55. <sys/shm.h> 共享存储
    56. <sys/statvfs.h> 文件系统信息
    57. <sys/time.h> 时间类型
    58. <sys/timeb.h> 附加的日期和时间定义
    59. <sys/uio.h> 矢量I/O操作
    60. ------------------------------
    61. POSIX定义的可选头文件
    62. <aio.h> 异步I/O
    63. <mqueue.h> 消息队列
    64. <pthread.h> 线程
    65. <sched.h> 执行调度
    66. <semaphore.h> 信号量
    67. <spawn.h> 实时spawn接口
    68. <stropts.h> XSI STREAMS接口
    69. <trace.h> 事件跟踪

    C常用头文件

    1. include <assert.h>    //设定插入点
    2. include <ctype.h>     //字符处理
    3. include <errno.h>     //定义错误码
    4. include <float.h>     //浮点数处理
    5. include <iso646.h> //对应各种运算符的宏
    6. include <limits.h>    //定义各种数据类型最值的常量
    7. include <locale.h>    //定义本地化C函数
    8. include <math.h>     //定义数学函数
    9. include <setjmp.h> //异常处理支持
    10. include <signal.h> //信号机制支持
    11. include <stdarg.h> //不定参数列表支持
    12. include <stddef.h> //常用常量
    13. include <stdio.h>     //定义输入/输出函数
    14. include <stdlib.h>    //定义杂项函数及内存分配函数
    15. include <string.h>    //字符串处理
    16. include <time.h>     //定义关于时间的函数
    17. include <wchar.h>     //宽字符处理及输入/输出
    18. include <wctype.h>    //宽字符分类

    传统C++

    1. i nclude <fstream.h>    //改用<fstream>
    2. i nclude <iomanip.h>    //改用<iomainip>
    3. i nclude <iostream.h>   //改用<iostream>
    4. i nclude <strstrea.h>   //该类不再支持,改用<sstream>中的stringstream

    标准C++常用头文件

    1. include <algorithm>    //STL 通用算法
    2. include <bitset>     //STL 位集容器
    3. include <cctype>  //字符处理
    4. include <cerrno>      //定义错误码
    5. include <cfloat>     //浮点数处理
    6. include <ciso646> //对应各种运算符的宏
    7. include <climits>     //定义各种数据类型最值的常量
    8. include <clocale>     //定义本地化函数
    9. include <cmath>      //定义数学函数
    10. include <complex>     //复数类
    11. include <csignal> //信号机制支持
    12. include <csetjmp> //异常处理支持
    13. include <cstdarg> //不定参数列表支持
    14. include <cstddef> //常用常量
    15. include <cstdio>      //定义输入/输出函数
    16. include <cstdlib>     //定义杂项函数及内存分配函数
    17. include <cstring>     //字符串处理
    18. include <ctime>      //定义关于时间的函数
    19. include <cwchar>      //宽字符处理及输入/输出
    20. include <cwctype>     //宽字符分类
    21. include <deque>      //STL 双端队列容器
    22. include <exception>    //异常处理类
    23. include <fstream>     //文件输入/输出
    24. include <al>        //STL 定义运算函数(代替运算符)
    25. include <limits>      //定义各种数据类型最值常量
    26. include <list>      //STL 线性列表容器
    27. include <locale> //本地化特定信息
    28. include <map>       //STL 映射容器
    29. include <memory> //STL通过分配器进行的内存分配
    30. include <new> //动态内存分配
    31. include <numeric> //STL常用的数字操作
    32. include <iomanip>    //参数化输入/输出
    33. include <ios>      //基本输入/输出支持
    34. include <iosfwd>     //输入/输出系统使用的前置声明
    35. include <iostream>    //数据流输入/输出
    36. include <istream>    //基本输入流
    37. include <iterator> //STL迭代器
    38. include <ostream>    //基本输出流
    39. include <queue>     //STL 队列容器
    40. include <set>      //STL 集合容器
    41. include <sstream>    //基于字符串的流
    42. include <stack>     //STL 堆栈容器
    43. include <stdexcept>   //标准异常类
    44. include <streambuf>   //底层输入/输出支持
    45. include <string>     //字符串类
    46. include <typeinfo> //运行期间类型信息
    47. include <utility>    //STL 通用模板类
    48. include <valarray> //对包含值的数组的操作
    49. include <vector>    //STL 动态数组容器
    50. ————————————————————————————————
    51. C99增加的部分
    52. include <complex.h>   //复数处理
    53. include <fenv.h>     //浮点环境
    54. include <inttypes.h>  //整数格式转换
    55. include <stdbool.h>   //布尔环境
    56. include <stdint.h>   //整型环境
    57. include <tgmath.h>   //通用类型数学宏

    标准库函数
    《The Standard C Library》

    写法
    双引号和尖括号(相对路径)

    1. #include <iostream>
    2. #include "demo.h"

    绝对路径

    1. #include "/xxx/xxx/demo.h"

    [[20211108120833 | 查找路径顺序]]
    添加头文件搜索路径

    1. 写入到CMakeLists或者Makefile中(推荐)
    2. 修改系统环境变量
      1. 一次性(当前shell)重新登录消失,c++: export CPLUS_INCLUDE_PATH=xxx:$CPLUS_INCLUDE_PATH c: export C_INCLUDE_PATH=XXXX:$C_INCLUDE_PATH
      2. 用户级生效 修改用户的 ~/.bashrc 添加上述命令,并执行source ~/.bashrc 或者重新登录生效。
      3. 全局级生效:修改/etc/profile 文件,运行 source /etc/profile 后生效。对所有用户生效