Arduino : dois-je utiliser const ou #define ?

Magazine
Marque
Hackable
Numéro
12
Mois de parution
mai 2016
Domaines


Résumé
Ce que soit dans les bibliothèques ou dans les croquis partagés entre amateurs du domaine, lorsqu'il s'agit de définir une valeur invariable, deux solutions s'offrent à vous : utiliser #define pour définir une macro ou déclarer une variable avec la directive const comme « constante ». Quelle solution choisir ? L'une est elle meilleure que l'autre ? La réponse est simple... Ça dépend.

Voici ce qu'on appelle une « réponse de Normand ». Notez au passage que l'expression semble provenir d'une ancienne loi normande offrant une possibilité de rétractation sur un jour à compter de la signature d'un accord marchand. Personnellement, je préfère la déclinaison anglaise de l'expression, « une réponse de politicien », qui a le mérite de ne pas être péjorative, mais tout simplement pragmatique...

Mais revenons à nos moutons (non, je ne vous ferai pas le coup deux fois) : #define ou const ? Pour répondre à cette question, la première chose à faire est de savoir de quoi on parle.

1. #define

Cette instruction ne concerne pas le compilateur qui va transformer le code que vous écrivez en une série d'instructions en langage machine pour le processeur. Celle-ci est traitée par le préprocesseur C qui opère avant la compilation. Ce préprocesseur gère également les...

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...

Jouons avec l'obfuscation de code

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

Rendre son code illisible lorsque l'on prêche pour l'open source, c'est le mal incarné. Toutefois, il est possible de concevoir que dans certains cas, on souhaite obscurcir des parties d'un code et, surtout d'un point de vue purement technique, cela peut se révéler intéressant.

Le point sur le débogage en Python

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

Il n'existe pas une unique façon de déboguer du code en Python. Dans cet article, nous allons faire un rapide tour des différentes techniques qui s'offrent à vous pour traquer les bugs.

Les bases de LaTeX sous GNU/Linux et Windows

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

Et si nous retournions aux sources ? Des articles sont régulièrement consacrés à LaTeX dans ce magazine, mais comment les utiliser si l'on part de zéro ? Dans cet article, je vous propose de voir ou revoir comment installer LaTeX, configurer un éditeur et gérer les extensions/paquets pour une utilisation sous GNU/Linux ou Windows. Une sorte de guide de survie pour prof de maths, en cas d'obligation d'enseignement à distance...

Débugage facile avec Sentry

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

Nous le savons tous, aucun code n’est exempt de bugs. Nous avons beau écrire tous les tests unitaires du monde, tous les tests fonctionnels, avoir une couverture du code par nos tests de 200 %, il y a toujours des bugs qui passent à travers les mailles du filet. Sentry est là pour vous aider à les trouver et à les corriger grâce à vos utilisateurs, et ce, sans qu’ils ne s’en rendent compte.

Résolution azimutale d’un RADAR à bruit : analyse et réalisation d’un RADAR à synthèse d’ouverture (SAR) par radio logicielle

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

Nous complétons la mesure de distance des cibles RADAR par la mesure d’azimut rendue possible par la synthèse d’ouverture d’antenne, afin de localiser leur position et ainsi d’identifier précisément leur nature par superposition sur une photographie aérienne. La souplesse de la radio logicielle est illustrée par la montée en fréquence (2,4 GHz), sans modifier aucun élément matériel autre que les antennes.