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