SA0064:添加指针
检测指针的添加
理由:在 CODESYS,指针运算一般是允许的,也可以适当使用。然而,它也代表了错误的来源。因此,存在通常禁止指针运算的编程规则。这个测试可以检查这样的需求。
重要性:中等
例 75. 例子
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:添加指针