Estoy un poco confundido por "C standard lib" y "C POSIX lib", porque encontré que, muchos archivos de encabezado definidos en "C POSIX lib" también son parte de "C estándar lib".Diferencia entre la biblioteca C estándar y la biblioteca C POSIX
Supongo que "C standard lib" es una lib definida por la organización ANSI C, y hay diferentes implementaciones en diferentes plataformas (Win32/Unix) y "C POSIX lib" es solo una implementación para "C standard lib" en sistemas operativos tipo Unix, ¿verdad?
Pero "C POSIX lib" contiene algunos encabezados no especificados en "C standard lib", como <sys/types.h>
, <sys/wait.h>
y <pthread.h>
.
Tome <pthread.h>
como ejemplo, supongo que su "estándar C lib" contraparte es <threads.h>
, a continuación, si quiero escribir un programa multi-hilo en Linux, que el archivo de cabecera debería incluir, <pthread.h>
o <threads.h>
?
ANSI C ha sido obsoleta desde 1990, cuando C se convirtió en una norma internacional. Desde entonces, C es mantenido por un [grupo de trabajo ISO] (http://www.open-std.org/jtc1/sc22/wg14/). – Lundin
@Lundin Totalmente sin sentido. ANSI C no es más que obsoleto. De hecho, C11 fue adoptado por INCITS como un estándar ANSI conocido como [INCITS/ISO/IEC 9899-2012] (http://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2FISO%2FIEC+9899-2012) que es el nuevo estándar ANSI C. – Wiz
@Wiz Es un estándar internacional y este es un sitio internacional. Con esto en mente, no tiene ningún sentido hablar sobre ANSI C desde 1990. Es lo mismo que si comenzara a referirme a C en este sitio como "SS C", ya que soy de Suecia y el estándar sueco se llama SS/ISO/IEC 9899. – Lundin