İşaretçilerin eklendiğini algılar
Gerekçe: CODESYS adresinde işaretçi aritmetiğine genellikle izin verilir ve uygun şekilde kullanılabilir. Ancak, aynı zamanda bir hata kaynağıdır. Bu nedenle, genellikle işaretçi aritmetiğini yasaklayan programlama kuralları mevcuttur. Bu test böyle bir gereksinimi kontrol edebilir.
Önemliymiş: Orta
Örnek
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
--> SA0064: Addition of pointer
Ayrıca bakınız