Libreria standard per iniziare

limits.h u0.1

Quando si scrive un programma da utilizzare senza l'ausilio del sistema operativo, è necessario realizzare una propria libreria di funzioni C, perché quella che offre il proprio compilatore, è fatta sicuramente per interagire con il sistema operativo che la ospita. Nelle sezioni successive vengono mostrati i file usati nel sistema in corso di presentazione, per una libreria C standard generalizzata.

Va però osservato che possono essere gestiti solo interi con un massimo di 32 bit. Infatti, il compilatore GNU C consentirebbe anche di gestire interi a 64 bit, corrispondenti al tipo long long, ma per questo si avvale di funzioni di libreria non standard che, però, qui non sono state realizzate.

Libreria «limits.h»

Il file limits.h dimostra quanto appena accennato a proposito della limitazione nella gestione dei numeri interi. Contrariamente a quanto si fa di solito, i valori sono scritti in esadecimale.

Listato u193.1. ./05/include/limits.h

#ifndef _LIMITS_H
#define _LIMITS_H       1

#define CHAR_BIT            (8)
#define SCHAR_MIN       (-0x80)
#define SCHAR_MAX        (0x7F)
#define UCHAR_MAX        (0xFF)
#define CHAR_MIN     SCHAR_MIN
#define CHAR_MAX     SCHAR_MAX
#define MB_LEN_MAX         (16)
#define SHRT_MIN      (-0x8000)
#define SHRT_MAX       (0x7FFF)
#define USHRT_MAX      (0xFFFF)
#define INT_MIN   (-0x80000000)
#define INT_MAX    (0x7FFFFFFF)
#define UINT_MAX   (0xFFFFFFFFU)
#define LONG_MIN  (-0x80000000L)
#define LONG_MAX   (0x7FFFFFFFL)
#define ULONG_MAX  (0xFFFFFFFFUL)

#endif

«a2» 2013.11.11 --- Copyright © Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net