Manuel de suivi dynamique Solaris

Options de versionnage

Tous les programmes en D que vous compilez à l'aide de dtrace -s ou spécifiez à l'aide des options de ligne de commande dtrace -P, -m, -f, -n ou -i sont liés, par défaut, à l'interface de programmation en D la plus récente que le compilateur D propose. Vous pouvez déterminer l'interface de programmation en D actuelle à l'aide de l'option dtrace -V :


$ dtrace -V
dtrace: Sun D 1.0
$

Si vous souhaitez établir une liaison vers une version spécifique de l'interface de programmation en D, vous pouvez configurer l'option version sur une chaîne de version appropriée. De même que pour les autres options DTrace (reportez-vous au Chapitre16Options et paramètres réglables), vous pouvez configurer l'option de version sur la ligne de commande à l'aide de dtrace -x :


# dtrace -x version=1.0 -n 'BEGIN{trace("hello");}'

ou bien utiliser la syntaxe #pragma D option pour configurer l'option dans votre fichier source de programme en D :

#pragma D option version=1.0

BEGIN
{
	trace("hello");
}

Si vous utilisez la syntaxe #pragma D option pour demander une liaison de version, vous devez l'insérer en haut du fichier de votre programme en D avant les autres déclarations et les clauses des sondes. Si l'argument de liaison de version ne constitue pas une chaîne de version ou renvoie à une version que le compilateur D ne propose pas, un message d'erreur approprié est émis et la compilation échoue. Par conséquent, vous pouvez également utiliser la fonction de liaison de version pour faire échouer un script en D sur une version antérieure de DTrace avec un message d'erreur évident.

Avant de compiler les déclarations et les clauses de votre programme, le compilateur D charge la configuration des types, fonctions, constantes et translateurs de la version appropriée de l'interface dans les espaces de noms du compilateur. Par conséquent, les options de liaison de version que vous spécifiez se contentent de contrôler l'ensemble des identificateurs, types et translateurs que votre programme voit, en plus des variables, types et translateurs que votre programme définit. La liaison de version empêche le compilateur D de charger des interfaces plus récentes dont la définition d'identificateurs ou de translateurs pourrait être en conflit avec les déclarations contenues dans le code source de votre programme, ce qui, par conséquent, pourrait entraîner une erreur de compilation. Reportez-vous à la section Noms d'identifiant et mots de passe pour y découvrir des conseils sur la manière de récupérer des noms d'identificateur qui ne risquent pas de créer des conflits avec les interfaces proposées par les prochaines versions de DTrace.