首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C标准库与C POSIX库的区别

C标准库与C POSIX库的区别
EN

Stack Overflow用户
提问于 2012-02-21 11:32:57
回答 4查看 39.1K关注 0票数 85

我对"C标准库“和"C库”感到有点困惑,因为我发现"C库“中定义的许多头文件也是"C标准库”的一部分。

所以,我假设"C标准库“是ANSI C组织定义的库,在不同的平台( lib 32/Unix类)上有不同的实现,而"C库”只是Unix类OSes上"C标准库“的一个实现,对吗?

但是“specified”包含"C标准库“中没有指定的一些标头,例如<sys/types.h><sys/wait.h><pthread.h>

<pthread.h>为例,我假设它的"C标准库“对应的是<threads.h>,那么如果我想在Linux上编写多线程程序,我应该包括哪些头文件,<pthread.h>还是<threads.h>

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-21 11:44:15

POSIX是标准C库的超集,重要的是要注意它符合标准C库。如果C和POSIX曾经发生过冲突,C就赢了。

套接字、文件描述符、共享内存等都是POSIX的一部分,但在C库中不存在。

pthread.h用于POSIX线程,threads.h是C11的新头,是C库的一部分。也许在将来的某个时候,可能会因为支持C线程而不再推荐线程,但是您可能还不能指望C11有广泛的部署。因此,如果您想要可移植性,那么现在您应该更喜欢p线程。如果不考虑可移植性,而且您有可用的C11线程,则应该使用这些线程。

票数 63
EN

Stack Overflow用户

发布于 2012-02-21 11:43:28

C POSIX库是POSIX系统C标准库的规范。它是与ANSI C标准同时开发的。为使POSIX与标准C兼容作出了一些努力;POSIX在标准C中引入的功能之外还包括了额外的功能。

票数 12
EN

Stack Overflow用户

发布于 2016-06-22 13:23:24

POSIX 7报价

http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap01.html#tag_14_01

1.1与其他正式标准的关系

为确保“POSIX.1-2008”的这一卷完全符合以下标准,已作出了极大的努力:

ISO C (1999) ISO/IEC 9899:1999,编程语言- C,包括ISO/IEC 9899:1999/Cor.1:2001(E)、ISO/IEC 9899:1999/Cor.2(E)和ISO/IEC 9899:1999/Cor.3。

引用ISO/IEC 9899:1999标准(下称ISO C标准)的部分内容来描述本卷POSIX.1-2008也规定的要求。本卷POSIX.1-2008中包含的一些函数和标头在ISO C标准中有一个版本;在本例中,CX标记是适当添加的,以显示ISO C标准的扩展位置(见代码)。本卷POSIX.1-2008与ISO C标准之间的任何冲突都是无意的。

我在:I never really understood: what is POSIX?列出了一些主要的API扩展

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

https://stackoverflow.com/questions/9376837

复制
相关文章

相似问题

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