SA0061:指针上的异常操作
检测操作一种类型的变量 POINTER TO
哪些不是 =
(平等), <>
(不等式), +
(加法),或 ADR
.
在 CODESYS, 指针算术一般是允许的,也可以适当使用。因此,将指针与整数值相加被认为是对指针的常见操作。这使得可以使用指针来处理可变长度的数组。使用 SA0061 报告所有其他(不寻常的)指针操作。
重要性:高
PLCopen 规则:E2 / E3
例 72. 例子
PROGRAM PLC_PRG VAR piTemp : POINTER TO INT; iTemp : INT; END_VAR
iTemp := iTemp + INT#1; piTemp := ADR(iTemp); piTemp := piTemp * DWORD#5; // SA0061 piTemp := piTemp / DWORD#2; // SA0061 piTemp := piTemp MOD DWORD#3; // SA0061 piTemp := piTemp + DWORD#1; piTemp := piTemp - DWORD#1; // SA0061
输出在 留言 看法:
SA0061:指针的异常操作