首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么一些C标准头文件以“std”开头,而另一些则不是?

为什么一些C标准头文件以“std”开头,而另一些则不是?
EN

Stack Overflow用户
提问于 2012-12-13 12:31:49
回答 1查看 335关注 0票数 19

例如,在新的C11标准中添加了stdalign.hthreads.h。为什么不是stdthreads.halign.h呢?它是为了避免与现有的库和系统头发生冲突吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-13 12:41:14

在不同的时期,选择这个名字有不同的原因。早在C标准出现之前,<stdio.h>就已经被用作一个名称;该标准只是对现有的实践进行了标准化。<stddef.h>头是最初的(C89)委员会的发明;之所以选择它的名字,是因为它没有被使用。<stdlib.h>也是如此。<inttypes.h>的名称是现有的实践,但委员会需要<stdint.h>来服务于独立的实现。选择名称<stdarg.h>是为了与非原型等效的<varargs.h>并行。<stdbool.h>这个名字并没有被使用;同样的,我猜,<stdatomic.h><stdalign.h><stdnoreturn.h>std前缀在很大程度上是为标准保留的(但我使用了头"stderr.h",因为我知道这可能是如履薄冰)。至于为什么<uchar.h><threads.h>没有以std前缀结尾,我假设一些现有技术基本上没有变化。AFAIK,C2011的基本原理还没有完成;当它可用时,它可能会透露更多信息。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13852988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档