标准C函数库头文件、POSIX标准库头文件和Windows API函数库头文件说明

1. 标准C函数库头文件

名字源自描述
<assert.h>包含断言宏,被用来在程序的调试版本中帮助检测逻辑错误以及其他类型的bug。
<complex.h>C99一组操作复数的函数。
<ctype.h>定义了一组函数,用来根据类型来给字符分类,或者进行大小写转换,而不关心所使用的字符集(通常是ASCII或其扩展字符集,也有EBCDIC)。
<errno.h>用来测试由库函数报的错误代码。
<fenv.h>C99定义了一组用来控制浮点数环境的函数。
<float.h>定义指定浮点数特定于实现的特性的宏常量。
<inttypes.h>C99定义精确的宽度整数类型。
<iso646.h>NA1定义几个等同于C中某些运算符的宏。用于ISO 646变体字符集编程。
<limits.h>定义指定整数类型特定于实现的特性的宏常量。
<locale.h>定义C语言本地化函数。
<math.h>定义C语言数学函数。
<setjmp.h>定义了宏setjmp和longjmp,在非局部跳转的时候使用。
<signal.h>定义C语言信号处理函数。
<stdalign.h>C11用于查询和指定对象的数据结构对齐方式。
<stdarg.h>用于访问传递给函数的不同数量的参数。
<stdatomic.h>C11对于线程之间共享数据的原子操作。
<stdbool.h>C99定义布尔数据类型。
<stddef.h>定义了几个常见的类型与宏。
<stdint.h>C99定义精确的宽度整数类型。
<stdio.h>定义输入输出函数。
<stdlib.h>定义数值转换函数,伪随机数生成函数,动态内存分配函数,过程控制函数。
<stdnoreturn.h>C11用于指定非返回函数。
<string.h>定义C语言字符串处理函数。
<tgmath.h>C99定义类型通用数学函数。
<threads.h>C11定义用于管理多个线程以及互斥锁和条件变量的函数。
<time.h>定义日期和时间处理功能
<uchar.h>C11用于操作Unicode字符的类型和函数。
<wchar.h>NA1定义宽字符串处理函数。
<wctype.h>NA1定义用于按类型对宽字符进行分类或在大小写之间进行转换的函数集

2. 不在标准C函数库中的POSIX标准库头文件

头文件描述首次发布
<aio.h>异步I/OIssue 5
<arpa/inet.h>操纵数值IP地址的函数胡 (部分Berkeley套接字)Issue 6
<cpio.h>用于cpio的文件格式#Magic numberIssue 3
<dirent.h>打开与列出目录.Issue 2
<dlfcn.h>动态链接Issue 5
<fcntl.h>文件打开、加锁等操作Issue 1
<fmtmsg.h>Message显示结构Issue 4
<fnmatch.h>文件名匹配Issue 4
<ftw.h>文件树遍历Issue 1
<glob.h>路径名模式匹配GlobIssue 4
<grp.h>用户Group identifier (Unix)信息与控制。Issue 1
<iconv.h>字符编码转换Issue 4
<langinfo.h>语言信息常量。建于Locale.h之上。Issue 2
<libgen.h>路径名操作Issue 4
<monetary.h>货币单位的字符串格式化Issue 4
<mqueue.h>消息队列Issue 5
<ndbm.h>NDBM数据库操作Issue 4
<net/if.h>本地网络接口列表Issue 6
<netdb.h>把本地协议与主机名翻译为数值地址。是Berkeley套接字的一部分Issue 6
<netinet/in.h>定义互联网协议与地址族。是Berkeley套接字的一部分Issue 6
<netinet/tcp.h>额外的TCP的控制选项。是Berkeley套接字的一部分Issue 6
<nl_types.h>本体化消息分类函数Issue 2
<poll.h>异步多任务文件描述符Issue 4
<pthread.h>POSIX线程.Issue 5
<pwd.h>passwd文件访问与控制Issue 1
<regex.h>正则表达式Issue 4
<sched.h>执行调度Issue 5
<search.h>搜索表Issue 1
<semaphore.h>POSIX 信号量Issue 5
<spawn.h>spawning子进程Issue 6
<strings.h>大小写不敏感字符串比较Issue 4
<stropts.h>流操作,包括ioctlIssue 4
<sys/ipc.h>进程间通信 (IPC).Issue 2
<sys/mman.h>内存管理,包括POSIX 共享内存 (进程间通信)与内存映射文件Issue 4
<sys/msg.h>POSIX 消息队列。Issue 2
<sys/resource.h>资源使用,优先级与限制。Issue 4
<sys/select.h>Select (Unix)Issue 6
<sys/sem.h>XSI (SysV风格的) 信号量Issue 2
<sys/shm.h>XSI (SysV风格的)共享内存 (进程间通信)Issue 2
<sys/socket.h>Berkley套接字主要头文件Issue 6
<sys/stat.h>文件信息(stat (Unix)等)Issue 1
<sys/statvfs.h>文件系统信息Issue 4
<sys/time.h>时间与日期函数与结构Issue 4
<sys/times.h>文件访问与修改时间Issue 1
<sys/types.h>不同的数据类型Issue 1
<sys/uio.h>向量I/O操作Issue 4
<sys/un.h>Unix域套接字Issue 6
<sys/utsname.h>操作系统信息,包括unameIssue 1
<sys/wait.h>终止子进程的状态(见wait (Unix))Issue 3
<syslog.h>syslog系统日志Issue 4
<tar.h>tar文件格式的Magic numberIssue 3
<termios.h>允许串口界面Issue 3
<trace.h>运行时行为追踪(过时)Issue 6
<ulimit.h>资源限制(被<sys/resource.h>代替)Issue 1
<unistd.h>多种必要的POSIX函数与常量Issue 1
<utime.h>inode访问与修改时间Issue 3
<utmpx.h>用户账号数据库函数Issue 4
<wordexp.h>子扩展,类似于shell被执行Issue 4

3. 特定于Windows的函数库

头文件描述
windows.h包含Windows API中所有函数的声明,Windows程序员使用的所有常用宏,以及各种函数使用的所有数据类型

3.1 子头文件

windows.h中自动包含许多子头文件。由于依赖性,许多这些文件本身不能简单地包含在内(它们不是自包含的)。

windows.h可能包含以下任何头文件:

头文件说明
excpt.h异常处理
stdarg.h变量参数函数(标准C头)
windef.h各种宏和类型
winnt.h各种宏和类型(适用于Windows NT)
basetsd.h各种类型
guiddef.hGUID类型
ctype.h字符分类(标准C头)
string.h字符串和缓冲区(标准C头)
winbase.hkernel32.dll:内核服务; advapi32.dll:内核服务(例如CreateProcessAsUser函数),访问控制(例如AdjustTokenGroups函数)。
winerror.hWindows错误代码
wingdi.hGDI(图形设备接口)
winuser.huser32.dll:用户服务
winnls.hNLS(母语支持)
wincon.h控制台服务
winver.h版本信息
winreg.hWindows注册表
winnetwk.hWNet(Windows网络)
winsvc.hWindows服务和SCM(服务控制管理器)
imm.hIME(输入法编辑器)
额外包括
cderr.hCommDlgExtendedError函数错误代码
commdlg.h通用对话框
dde.hDDE(动态数据交换)
ddeml.hDDE管理库
dlgs.h常用对话框的各种常量
lzexpand.hLZ(Lempel
mmsystem.hWindows多媒体
nb30.hNetBIOS
rpc.hRPC(远程过程调用)
shellapi.hWindows Shell API
wincrypt.h加密API
winperf.h性能监控
winresrc.h用于资源
winsock.hWinsock(Windows套接字),版本1.1
winspool.h打印后台处理程序
winbgim.h标准图形库
OLE和COM
ole2.hOLE(对象链接和嵌入)
objbase.hCOM(组件对象模型)
oleauto.hOLE自动化
olectlid.h各种GUID定义

3.2 宏

几个宏会影响windows.h的行为。

说明
UNICODE定义时,这会导致TCHAR成为WCHAR而不是CHAR的同义词,并且所有类型通用API函数和使用文本的消息都将定义为-W版本而不是-A版本。(它类似于Windows C运行时的_UNICODE宏。)
RC_INVOKED在使用资源编译器(RC.EXE)而不是C编译器时定义。
WINVER用于启用仅在较新的操作系统中可用的功能。它定义到0x0501为Windows XP中,并为0x0600为Windows Vista中。
WIN32_LEAN_AND_MEAN用于减小头文件的大小并加快编译速度。不包括加密,DDE,RPC,Windows Shell和Winsock等内容。

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值