standard quimica acorde c c99 c89 c11

quimica - c11 standard



¿Por qué algunos encabezados estándar C comienzan con ''std'' mientras que otros no lo hacen? (1)

Por ejemplo, en el nuevo estándar C11 se han agregado stdalign.h y threads.h . ¿Por qué no stdthreads.h o align.h ? ¿Es para evitar colisiones con las bibliotecas existentes y los encabezados del sistema?


En varias ocasiones, ha habido varias razones para los nombres elegidos. <stdio.h> estaba en uso como nombre mucho antes de que existiera un estándar C; El estándar simplemente estandariza la práctica existente. El <stddef.h> fue una invención del comité original (C89); Su nombre fue elegido porque no estaba en uso. Similarmente con <stdlib.h> . El nombre <inttypes.h> era una práctica existente, pero el comité necesitaba <stdint.h> para servir implementaciones independientes. El nombre <stdarg.h> fue elegido para ser paralelo al equivalente no prototipo <varargs.h> . El nombre <stdbool.h> no estaba en uso; asimismo, supongo, <stdatomic.h> , <stdalign.h> , <stdnoreturn.h> . El prefijo estándar está en gran parte reservado para el estándar (pero uso un encabezado "stderr.h" , sabiendo que podría estar pisando hielo fino). En cuanto a por qué <uchar.h> y <threads.h> no terminaron con un prefijo std , supongo que alguna técnica anterior se mantuvo sustancialmente sin cambios. AFAIK, el fundamento C2011 aún no se ha completado; Puede revelar más información cuando esté disponible.