Bonjour,
Quelqu'un pourrait il m'expliquer la différence entre:
etCode:
1
2 text: ARRAY [1..20] OF BYTE;
Merci ;)Code:
1
2 pas: PACKED ARRAY [1..20] OF BYTE;
Version imprimable
Bonjour,
Quelqu'un pourrait il m'expliquer la différence entre:
etCode:
1
2 text: ARRAY [1..20] OF BYTE;
Merci ;)Code:
1
2 pas: PACKED ARRAY [1..20] OF BYTE;
Bonjour !
Le mot réservé packed peut préfixer n'importe quel type structuré (array, record, set...). Héritage des machines des années '70, il provoquait un stockage plus compact des types structurés.
Toutes les versions du compilateur Turbo Pascal ignorent carrément ce mot réservé car tous les types structurés sont automatiquement compactés.
Les compilateurs Free Pascal et Virtual Pascal, par contre, utilisent un alignement par défaut du contenu des types structurés sur 32 bits. La directive packed compacte le contenu sans tenir compte de cet alignement par défaut.
Bonjour,
Merci pour ta réponse.
Quand tu parles de types structurés compactés, cela signifie t'il donc qu'il n'y a pas de padding?
Car à mes yeux l'alignement est important et permet d'accéder plus vite à des données, par exemple un cycle de lecture au lieu de deux. En gros, je ne coprends pas vraiment l'utilité de compacter? ;)
Nicolas
Il est utile de compacter quand la mémoire à disposition est très faible. Sinon y'a aucun avantage... (enfin j'en vois pas en tout cas). De nos jours, c'est devenu obsolète.
ok merci! ;)
on m'avait dit que ces "compactage" enfin compressions sont bien utiles effectivement la ou tu as peut de mémoire, ca peut encore servir si tu veut programmer un téléphone portable par exemple, donc moi je l'oublie pas lolCitation:
Envoyé par wormful_sickfoot