Un peu plus loin avec les macros

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
70
Mois de parution
janvier 2014
Domaines


Résumé

Même si elles ne font pas vraiment partie du langage C à proprement parler, puisqu'elles appartiennent au préprocesseur, les macros sont des outils qui peuvent s'avérer fort pratiques.


Une macro est l'association entre un symbole (un nom) et une définition. Elle se définit ainsi :

#define NOM definition

NOM est n'importe quel identifiant valide en C (même un mot réservé comme for, return), mais on préfère souvent se limiter à des majuscules éventuellement séparées par des underscores. definition peut contenir n'importe quelle séquence (éventuellement vide) de code C valide.

Les macros dont la définition est vide sont surtout utilisées pour permettre l'inclusion optionnelle de code via l'utilisation des primitives #ifdef / #ifndef.

On utilise souvent des macros avec des définitions vides pour créer des « include guards ». Il s'agit de la séquence suivante :

#ifndef FICHIER_H

#define FICHIER_H

Ce qui garantit qu'une portion de code n'est pas incluse plus d'une fois lors d'une...

Cet article est réservé aux abonnés. Il vous reste 90% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Débogage JavaScript côté client

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
111
Mois de parution
novembre 2020
Domaines
Résumé

Si JavaScript a longtemps évoqué l’idée de petit script dans un site internet, il est aujourd’hui souvent utilisé comme fondation d’application web complexe (notamment via des frameworks comme ReactJS ou VueJS). Dans ce contexte d’usage avancé, il est nécessaire d’avoir en main les bons outils et techniques de débogage.

Principes de l’orienté objet en C++ : l’encapsulation

Magazine
Marque
GNU/Linux Magazine
Numéro
242
Mois de parution
novembre 2020
Domaines
Résumé

La programmation orientée objet obéit à des principes. Les 4 principaux principes sont l’encapsulation, l’héritage, le polymorphisme et la généricité. Que de noms barbares, que nous allons démystifier de manière logique ! Des exemples déclinés dans le langage C++ illustreront ces principes. Ce premier article traite de l’encapsulation.

Déboguer un exécutable Java

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
111
Mois de parution
novembre 2020
Domaines
Résumé

On attribue souvent au succès de Java la relative simplicité de sa syntaxe et surtout son vaste écosystème. C’est oublier un point essentiel dans son adoption : son débogueur et ses fonctionnalités qui simplifient tant le travail d’analyse et de résolution d’une erreur à l’exécution.

Créez un lecteur RSS avec PHP

Magazine
Marque
GNU/Linux Magazine
Numéro
242
Mois de parution
novembre 2020
Domaines
Résumé

Nous allons découvrir avec cet article le format de données RSS. Pour une mise en pratique, nous développerons une petite application en PHP permettant de lire un flux RSS.

Mise au point à distance avec GDB

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
111
Mois de parution
novembre 2020
Domaines
Résumé

Le débogueur GDB est un outil indispensable pour la mise au point de programmes, a fortiori dans le cas du développement croisé (mise au point à distance ou « remote debug »). Dans cet article, nous allons voir comment mettre en place différentes solutions suivant plusieurs cas de figure (programme en espace utilisateur, noyau Linux statique ou pilote en espace noyau). Afin de permettre au plus grand nombre de lecteurs de tester les exemples décrits, nous utiliserons l’émulateur QEMU (et Buildroot) pour les démonstrations.