SA0064 : Ajout de pointeur
Détecte l'ajout de pointeurs
Justification : Dans CODESYS, l'arithmétique des pointeurs est généralement autorisée et peut également être utilisée de manière appropriée. Mais cela représente aussi une source d’erreur. Par conséquent, il existe des règles de programmation qui interdisent généralement l’arithmétique des pointeurs. Ce test permet de vérifier une telle exigence.
Importance : Moyenne
Exemple 75. Exemple
PROGRAM PLC_PRG VAR iTest : INT; ariTest : ARRAY[0..10] OF INT; {attribute 'analysis':='-111'} piTest : POINTER TO INT; i : INT; END_VAR
piTest := ADR(ariTest[0]); // OK piTest^ := 0; piTest := ADR(ariTest) + SIZEOF(INT); // SA0064 piTest^ := 1; piTest := ADR(ariTest) + 6; // SA0064 piTest^ := 3; piTest := ADR(ariTest[10]); FOR i:=0 TO 10 DO piTest^ := i; piTest := piTest + 2; // SA0064 END_FOR
Sortie dans le messages voir:
SA0064 : Ajout de pointeur