Quiero usar CPU_SET
, que es una macro específica de glibc linux que debe definirse en sched.h
La página de manual indica claramente que _GNU_SOURCE
se debe definir para que se defina la macro. Sin embargo, al mirar el encabezado, CPU_SET
se define solo si se define __USE_GNU
(existe una protección #ifdef
). Me parece recordar hace unos años que se necesitaba _GNU_SOURCE
._GNU_SOURCE y __USE_GNU
Preguntas:
1) Es evidente que la página de manual está apagado. ¿Cómo notifico al mantenedor que la página de manual es incorrecta?
2) ¿Cuándo la transición de _GNU_SOURCE
a __USE_GNU
suceda (ya sea en términos de la versión o el tiempo)
3) ¿Hay circunstancias en las que las nuevas versiones de glibc todavía utilizan _GNU_SOURCE
? ¿O puedo suponer con seguridad que la definición de __USE_GNU
es suficiente?
Aún recibo errores si utilizo '_GNU_SOURCE' solamente. ¿Alguna otra idea de por qué podría suceder? –
Todas las macros de prueba de características como '_GNU_SOURCE' ** deben ** definirse antes ** se incluye ** cualquier encabezado estándar **. No puede esperar para definirlo hasta justo antes del encabezado para el que lo necesita. –
Terminé por tener que definir '_GNU_SOURCE' en la línea superior del archivo de encabezado más interno, pero funcionó :) –