Syntaxe
|
type identyp=Packed typestruct;
|
|
var identvar:Packed typestruct;
|
Paramètres
| Nom |
Description |
| identyp |
Ce paramètre permet d'indiquer l'identificateur de type de données |
| identvar |
Ce paramètre permet d'indiquer l'identificateur de type de variable |
| typestruct |
Ce paramètre permet d'indiquer le type de données de structure |
Description
Ce mot réservé permet d'indiquer au compilateur d'utiliser le moins de mémoire possible pour la définition de la structure.
Remarques
- Le mot clef PACKED est utilisé pour optimiser l'espace mémoire. Il force le compilateur à réduire l'alignement des éléments dans une structure. Cela peut être utile
dans les systèmes à mémoire limitée.
- Lorsqu'il est appliqué à des types structurés comme record ou array, PACKED regroupe les éléments sans
laisser d'espace entre eux. Cela entraîne une densité mémoire plus élevée, au détriment parfois des performances.
- L'usage de PACKED peut impacter la vitesse d'accès aux données. Certains processeurs accèdent plus lentement à des données non alignées. Il faut donc choisir entre
économie de mémoire et vitesse d'exécution.
- Le mot clef PACKED peut être utilisé aussi bien dans la déclaration de types que dans celle de variables. Cela permet de contrôler finement la représentation mémoire
de chaque élément. C'est particulièrement utile en programmation bas niveau ou embarquée.
- Les structures PACKED sont souvent utilisées pour la compatibilité binaire. Elles permettent de correspondre exactement à une structure définie en mémoire,
comme dans les échanges de données via des fichiers ou des réseaux.
- Il est possible d'avoir des structures imbriquées avec ou sans PACKED. Cela permet de combiner performance et compacité, selon les besoins. Mais cela complexifie la
compréhension du schéma mémoire global.
- Certains compilateurs peuvent ignorer partiellement le mot-clef PACKED. Il est donc important de vérifier la documentation du compilateur utilisé. En cas de doute, des
tests de taille de structure (sizeof) sont recommandés.
- L'emploi de PACKED est déconseillé lorsque la structure doit être modifiée fréquemment. Les accès non alignés peuvent entraîner des pénalités de performances
importantes. Il convient donc de réserver son usage à des cas bien identifiés.
Dernière mise à jour : Mardi, le 25 octobre 2016