Macros de prueba de características en C
El modo ISO estricto oculta las declaraciones POSIX hasta que las pides por nombre.
#define _POSIX_C_SOURCE 200809L
#include <stdio.h>
#include <unistd.h>
void which_standard(void) {
#if defined(_POSIX_VERSION)
printf("POSIX %ld\n", (long) _POSIX_VERSION);
#else
printf("no POSIX headers\n");
#endif
printf("C standard %ld\n", (long) __STDC_VERSION__);
printf("pid %d\n", (int) getpid());
}
Cómo funciona
- La macro debe definirse antes de incluir cualquier header.
200809Lselecciona POSIX.1-2008, que cubre casi todo lo que quieres.- Sin ella, una llamada POSIX puede compilar como declaración implícita.
Palabras clave y builtins usados aquí
intlongvoid
El intento, en números
- Líneas
- 14
- Caracteres a escribir
- 308
- Tokens
- 70
- Ritmo de tres estrellas
- 95 tpm
Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 44 segundos.
Paso 4 de 4 en Entorno del programa; paso 4 de 14 en Programación de sistemas.