Skip to main content

SA0028 : chevauchement des zones de mémoire

Détecte les lignes de code où deux ou plusieurs variables réservent la même mémoire.

Justification : Lorsque deux variables réservent la même mémoire, le code peut se comporter avec des résultats inattendus. Cette situation doit être évitée à tout prix. Si vous ne pouvez pas éviter d'utiliser une valeur dans différentes interprétations (par exemple, une fois comme DINT et une autre fois comme REAL), alors vous devez définir un UNION. Vous pouvez également utiliser un pointeur pour accéder à une valeur d'un type différent sans que la valeur soit convertie.

Importance : Élevée

Exemple 40. Exemple
PROGRAM PLC_PRG
VAR
    iVvar1 AT %QB21: INT;
    dwVar2 AT %QD5: DWORD;
END_VAR

Sortie dans le messages voir:

  • sa_icon_message.png Les variables suivantes accèdent à la même mémoire :

  • sa_icon_message.png SA0028 : iVar1 À %QB21

  • sa_icon_message.png SA0028 : dwVar2 À %QD5



Pour plus d'informations, voir :