Les patrons variables du C++11 : 3 – Cas concret : champs de bits compacts

Magazine
Marque
GNU/Linux Magazine
Numéro
161
Mois de parution
juin 2013
Domaines


Résumé
Les deux articles précédents de cette série ont décrit ce que sont les patrons variables, ainsi que les techniques usuelles à utiliser lorsque l'on doit les manipuler. Nous allons voir ici un exemple concret d'utilisation, qui pourrait être utilisé dans une programmation très bas niveau malgré les abstractions mises en œuvre.

Lorsque l'on est amené à interagir assez directement avec le matériel, ou que l'on doit conserver des attributs pour de grandes quantités de données dans un espace mémoire limité, il est fréquent de stocker dans des registres ou des zones mémoire des ensembles de valeurs structurées au niveau du bit – ce que l'on nomme usuellement des champs de bits (bit fields). Par exemple, dans le cadre d'une application 3D affichant des modèles triangulés comme Blender [1] ou MeshLab [2], chaque triangle peut être qualifié par des options, comme est-il affiché ou masqué, est-il sélectionné ou non, etc. Comme de telles applications peuvent devoir rapidement manipuler des millions de triangles, il est préférable d'éviter que ces attributs n'occupent trop de place en mémoire. Rappelons qu'un booléen occupe au minimum 1 octet en mémoire, voire bien davantage du fait de l'alignement appliqué aux champs d'une structure pour des raisons de performances. Ainsi, si on se donne...

Cet article est réservé aux abonnés. Il vous reste 96% à 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...

Utiliser Visual Studio Code pour coder en Python

Magazine
Marque
GNU/Linux Magazine
Numéro
243
Mois de parution
décembre 2020
Domaines
Résumé

Comme Batman a Robin, Rocket Raccoon a Groot, le développeur a l’éditeur de code. Sans son plus fidèle acolyte, impossible d’écrire la moindre ligne de code... d’où l’importance d’être toujours à la recherche de l’outil le plus efficace qui soit, quitte à délaisser un vieux compagnon de route...

Générez la documentation technique de vos projets Godot

Magazine
Marque
GNU/Linux Magazine
Numéro
243
Mois de parution
décembre 2020
Domaines
Résumé

Découvrons comment utiliser GDScript Docs Maker pour générer automatiquement la documentation de vos projets Godot. Nous allons voir dans cet article que l’on peut simplement, à partir de notre code et de ses commentaires, avoir une documentation toujours à jour.

Implémentation du calcul symbolique et de la dérivation en Java

Magazine
Marque
GNU/Linux Magazine
Numéro
243
Mois de parution
décembre 2020
Domaines
Résumé

Les logiciels de calcul symbolique sont relativement abondants. Pour les curieux ou ceux qui voudraient intégrer ce type de fonctionnalités dans leurs propres programmes, nous allons essayer de lever une partie des mystères des théories et des problèmes qui se cachent derrière la création de ces systèmes.

Déboguez vos codes PHP

Magazine
Marque
GNU/Linux Magazine
Numéro
243
Mois de parution
décembre 2020
Domaines
Résumé

La mise au point de programmes PHP est parfois perçue comme archaïque, car la configuration d’un environnement efficace de debugging peut s’avérer déroutante. Voici comment paramétrer une confortable installation pour profiter pleinement d’outils professionnels et maîtriser le développement local ou distant.