Alc*_*ott 63 c posix standard-library
我对"C标准库"和"C POSIX库"感到有些困惑,因为我发现"C POSIX lib"中定义的许多头文件也是"C标准库"的一部分.
因此,我认为,"C标准库"是由ANSI C组织定义的库,并且在不同平台(Win32/Unix-like)上有不同的实现,而"C POSIX lib"只是"C标准"的实现lib"在类Unix操作系统上,对吗?
但是"C POSIX LIB"包含了一些头在"C标准库"未指定,如<sys/types.h>,<sys/wait.h>和<pthread.h>.
以<pthread.h>为例,我相信它的"C标准库"对应的是<threads.h>,那么如果我想要写Linux上的多线程程序,这头文件,我应该包括,<pthread.h>还是<threads.h>?
Per*_*son 44
POSIX是标准C库的超集,重要的是要注意它遵循它.如果C和POSIX发生冲突,C胜出.
套接字,文件描述符,共享内存等都是POSIX的一部分,但在C库中不存在.
pthread.h用于POSIX线程,threads.h是C11的新标头,是C库的一部分.也许pthreads将来会在某个时候被弃用,而不是C语言,但是你可能不能指望C11进行广泛的部署.因此,如果你想要可移植性,你现在应该更喜欢pthreads.如果可移植性不是问题,并且您有可用的C11线程,那么您应该使用它们.
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:2004(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 标准之间的任何冲突都是无意的。
我在以下位置列出了一些主要的 API 扩展:我从未真正理解:什么是 POSIX?
| 归档时间: |
|
| 查看次数: |
25055 次 |
| 最近记录: |