C11 GCC threads.h no encontrado?
multithreading (3)
El estado del documento C11 de gcc
indica que no admite subprocesos, dice:
Enhebrado [Opcional] | Tema de la biblioteca (no implementado)
Como indica el documento, esto no es realmente un problema de gcc
o clang
sino de glibc
. Como señaló Zack, parece que pronto habrá trabajo en marcha para obtener apoyo para esto en glibc
pero eso no te ayudará ahora. Puedes usar this mientras tanto.
Corregido para glibc 2.28
Según el error 14092 - Soporte C11, esto se solucionará en glibc 2.8:
Implementado en sentido ascendente por:
9d0a979 Agregar documentación manual para hilos.h
0a07288 nptl: Agregar casos de prueba para subprocesos ISO C11
nptl c6dd669: Agregar símbolos de abilist para subprocesos C11
78d4013 nptl: Agregar las funciones tss_ * de los subprocesos C11
918311a nptl: Agregar funciones Cnd_ * de subprocesos C11
3c20a67 nptl: agregar las funciones de call_once de los subprocesos C11
18d59c1 nptl: agrega las funciones mtx_ * de los subprocesos C11
ce7528f nptl: Agregar hilos C11 thrd_ * funcionesSe incluirá en 2.28.
El siguiente codigo
#include <threads.h>
Me da este error:
fatal error: threads.h: No such file or directory
Usando el último GCC y Clang con -std = c11.
¿Los subprocesos C11 no son compatibles con GCC y Clang? ¿O hay un hack (o algo para instalar) para obtenerlo? Solo uso Ubuntu 14.04 con los paquetes gcc y clang del repositorio de Ubuntu.
Si bien los subprocesos C11 aún no se han implementado, los subprocesos C ++ 11 se han implementado y tienen una funcionalidad similar. Por supuesto, C ++ 11 puede ser una solución inaceptable, en cuyo caso los comentarios anteriores sobre los hilos POSIX son su mejor esperanza.