Une instruction pragma permet d'affecter les propriétés d'une ou plusieurs variables pour influer sur le processus de compilation ou précompilation (préprocesseur). Cela signifie que l'instruction pragma influence la génération du code.
NOTE : les pragmas disponibles ne reflètent pas exactement les directives du préprocesseur C. Considérées comme des instructions normales, elles doivent être ajoutées aux mêmes positions que les instructions. Elles ne sont pas acceptées dans une expression ni dans la partie déclaration des éditeurs.
Un pragma peut déterminer si une variable sera initialisée, surveillée, ajoutée à une liste de paramètres ou à la liste de symboles, ou bien masquée dans le gestionnaire de bibliothèques. Il peut forcer l'émission de messages pendant la génération. Les pragmas conditionnels permettent de définir le traitement réservé à la variable, en fonction de conditions spécifiques. Ces pragmas peuvent aussi servir de définitions dans les propriétés de génération d'un objet particulier.
Ajoutez le pragma sur une ligne distincte, ou en tant que texte complémentaire sur une ligne d'implémentation ou d'éditeur de déclaration. Dans l'éditeur FBD/LD/IL, exécutez la commande Insérer une étiquette, puis remplacez le texte par défaut Label: par le pragma dans la zone de texte qui s'affiche. Si vous souhaitez définir une étiquette et un pragma, ajoutez le pragma en premier.
L'instruction pragma est entre accolades.
{ <texte de l'instruction> }
L'accolade ouvrante peut être ajoutée immédiatement après un nom de variable. Les accolades ouvrante et fermante doivent figurer sur la même ligne.
Positions correctes d'un pragma conditionnel
{IF defined(abc)}
IF x =abc THEN
{IF defined(cde)}
y := 12;
{ELSE}
y :=13;
{END_IF}
END_IF
{ELSE}
IF x = 12 THEN
{IF defined(cde)}
y := 12;
{ELSE}
y :=13;
{END_IF}
END_IF
Positions incorrectes d'un pragma conditionnel
NOTE : n'ajoutez pas de pragmas conditionnels aux positions indiquées dans cet exemple.
En fonction du type et du contenu du pragma, le pragma agit sur l'instruction qui suit, puis sur toutes les autres, jusqu'à ce que l'une des conditions suivantes soit remplie :
oIl se termine par un pragma approprié.
oLe même pragma est exécuté avec différents paramètres.
oLe programme a atteint la fin du code.
Dans ce contexte, le terme « code » désigne une partie déclaration ou implémentation, une liste de variables globales ou une déclaration de type.
NOTE : les instructions Pragma font la distinction entre majuscules et minuscules.
Si le compilateur ne parvient pas à interpréter le texte d'instruction, le pragma est intégralement considéré comme un commentaire et ignoré.
Reportez-vous aux types de pragma suivants :