Sono un po 'confuso da "C standard lib" e "C POSIX lib", perché ho scoperto che, molti file di intestazione definiti in "C POSIX lib" fanno anche parte di "C lib standard".Differenza tra libreria standard C e libreria POSIX
Quindi, presumo che, "C lib standard" è una lib definita dall'organizzazione ANSI C, e ci sono diverse implementazioni su piattaforme diverse (Win32/Unix-like), e "C POSIX lib" è solo un'implementazione per "C standard lib" su sistemi operativi Unix-like, giusto?
Ma "C POSIX lib" contiene alcune intestazioni non specificate in "C lib standard", come ad esempio <sys/types.h>
, <sys/wait.h>
e <pthread.h>
.
Prendere <pthread.h>
come esempio, presumo il suo "standard C lib" controparte è <threads.h>
, quindi se voglio scrivere un programma multi-threaded su Linux, che file di intestazione devo includere, <pthread.h>
o <threads.h>
?
ANSI C è obsoleto dal 1990, quando C è diventato uno standard internazionale. Da allora, C viene gestito da un [gruppo di lavoro ISO] (http://www.open-std.org/jtc1/sc22/wg14/). – Lundin
@Lundin Assurdamente assurdo. ANSI C non è altro che obsoleto. Infatti C11 è stato adottato dall'INCITS come standard ANSI noto come [INCITS/ISO/IEC 9899-2012] (http://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2FISO%2FIEC+9899-2012) qual è il nuovo standard ANSI C. – Wiz
@ Wiz È uno standard internazionale e questo è un sito internazionale. Con questo in mente, non ha alcun senso parlare di ANSI C dal 1990. È lo stesso che se mi riferissi a C su questo sito come "SS C", dato che sono svedese e svedese si chiama SS/ISO/IEC 9899. – Lundin