typestar

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

  1. La macro debe definirse antes de incluir cualquier header.
  2. 200809L selecciona POSIX.1-2008, que cubre casi todo lo que quieres.
  3. Sin ella, una llamada POSIX puede compilar como declaración implícita.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 4 de 4 en Entorno del programa; paso 4 de 14 en Programación de sistemas.

← Anterior Siguiente →