absolute |
Absolue |
GNU Pascal |
Syntaxe
var variable_name: data_type absolute variable_reference;
|
var variable_name: data_type absolute integer_expression;
|
Paramètres
Nom |
Description |
variable_name |
Ce paramètre permet d'indiquer le nom de la variable. |
data_type |
Ce paramètre permet d'indiquer le type de données de la variable. |
variable_reference |
Ce paramètre permet d'indiquer une référence de variable sur lequel il faut pointer. |
integer_expression |
Ce paramètre permet d'indiquer une expression entière. |
Description
Ce mot réservé permet de fixer l'emplacement d'une variable au même endroit qu'une autre ou à un emplacement mémoire physique absolue.
La première syntaxe du mot réservé absolute permet de mettre une variable à l'adresse d'une autre et fournit ainsi un mécanisme de transtypage.
Dans la plupart des cas, variable_reference sera simplement un nom de variable, mais le GPC (GNU Pascal Compiler) autorise également les
expressions de pointeur arbitraires ici. Si variable_reference n'a ni adresse constante ni paramètre de variable, le GPC affiche un
avertissement. Cet avertissement est supprimé en mode «syntaxe étendue» étant activée par l'option --extended-syntax ou la directive de
compilation {$X+}.
Le GPC autorise également les conversions de types explicites. Les enregistrements de variantes (tels que définis dans l'ISO 7185 Pascal) ne
comportent toutefois aucune garantie de superposition et ne conviennent donc pas aux transtypages.
La deuxième syntaxe du mot réservé absolute place une variable à une adresse spécifiée. Ceci est utile sur les machines sans adressage de mémoire
virtuelle pour certaines opérations de bas niveau, mais doit être évité sur les systèmes dotés d'une protection de la mémoire, tels que les systèmes de
type Unix. Le GPC ne vérifie pas si l'adresse virtuelle spécifiée est logique et ne fournit pas de mécanisme intégré pour la cartographie à
une adresse réelle.
Le GPC met en garde contre cette deuxième syntaxe de absolute, sauf si une «syntaxe étendue» a été demandée.
Remarques
- Le mot réservé absolute est une extension de Borland Pascal. Le
Borland Pascal a une syntaxe légèrement différente pour la seconde
syntaxe liée au schéma d'adressage des processeurs IA-32 travaillant en mode réel.
- L'autorisation des références de mémoire arbitraires au lieu de noms de variables au sens de la première syntaxe de absolute est une extension du GNU Pascal.
Dernière mise à jour : Dimanche, le 22 octobre 2017