Division sûre en C avec Maybe

2025-08-11

Cet article détaille la mise en œuvre de conteneurs génériques sûrs pour les types et les limites en C. L'auteur introduit un type `Maybe`, inspiré de Haskell, pour gérer les fonctions pouvant renvoyer aucune valeur (par exemple, division par zéro). Une fonction de division sûre est créée à l'aide de macros pour définir `Maybe`, traitant la division par zéro et le cas limite de la division de l'entier représentable le plus petit par -1. Le code assembleur généré par GCC est analysé pour vérifier la sécurité de la fonction. L'auteur conclut en soulignant les limitations de cette approche pour prouver la sécurité complète des programmes C.

Lire plus
Développement

Conteneurs génériques en C : implémentation sécurisée et efficace de vec

2025-07-26

Cet article détaille l’implémentation d’un conteneur générique avec sécurité de type et de limites, `vec`, en C. `vec` est essentiellement un tableau redimensionnable qui grandit dynamiquement à l’aide de `realloc`. L’auteur explique l’implémentation, notamment la fonction `vec_push` et la gestion des erreurs d’allocation mémoire. Deux interfaces améliorées, `vec_push_cap` et `vec_push_auto`, sont explorées pour optimiser les performances. La sécurité des limites est abordée, ainsi que l’interopérabilité avec les tableaux C traditionnels via la macro `vec2array`.

Lire plus
Développement Programmation générique