Préparation à la programmation en C : compilation, structure et bonnes pratiques
La conversion d’un fichier source C en un programme exécutable s’effectue en plusieurs étapes, chacune pouvant être déclenchée individuellement via l’outil gcc.
Prétratiement (gcc -E source.c) :
Développement des fichiers inclus via #include
Suppression des commentaires
Substitution des constantes et macros
Gestion des sections conditionnelle ...
Publié le 31 août à 20h55
Gestion des signaux POSIX sous Linux : signal, sigaction et masquage
Dans l'environnement Linux, la communication entre processus et le noyau repose souvent sur les signaux. Pour un développeur système, maîtriser les mécanismes de réception et de blocage de ces notifications est essentiel. Cet article explore l'utilisation des fonctions signal et sigaction, ainsi que la gestion des masques de signaux.
L'interfac ...
Publié le 6 août à 20h24
Maîtrise des pointeurs et de la gestion de la mémoire en langage C
1. Arithmétique des pointeurs et conversions de types entiers
En C, il est possible de convertir explicitement une valeur entière en un pointeur et vice versa. Cependant, l'arithmétique appliquée diffère selon que le compilateur traite la donnée comme un entier pur ou comme une adresse mémoire associée à un type spécifique.
#include <stdio.h ...
Publié le 23 juillet à 23h43
Mécanismes d'Entrées/Sorties sous Linux : Descripteurs de Fichiers et Redirection
Sous les systèmes d'exploitation de type Unix, la gestion des entrées/sorties (E/S) repose sur une abstraction fondamentlae où "tout est fichier". Comprendre comment le noyau Linux gère ces opérations nécessite d'explorer la relation entre les processus, les descripteurs de fichiers et les appels système.
Abstraction des Fichiers et A ...
Publié le 17 juillet à 21h47
Implémentation de minuteurs POSIX en C sous Linux
Approche basique avec setitimer
L'utilisation de la fonction setitimer combinée au signal SIGALRM constitue la méthode la plus directe pour implémenter un minuteur sous Linux. Cette approche est idéale pour les besoins simples ne nécessitant qu'un seul minuteur global au sein du processus.
#include <stdio.h>
#include <sys/time.h>
#i ...
Publié le 23 juin à 21h57