Skip to main content

SA0028:重叠的内存区域

检测两个或多个变量保留相同内存的代码行。

理由:当两个变量保留相同的内存时,代码可能会出现意外的结果。应不惜一切代价避免这种情况。如果您无法避免在不同的解释中使用某个值(例如,一次作为 DINT 还有一次作为 REAL),那么你应该定义一个 UNION。您还可以使用指针访问不同类型的值,而无需转换该值。

重要性:高

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

输出在 留言 看法:

  • sa_icon_message.png 以下变量访问同一内存:

  • sa_icon_message.png SA0028:iVar1 AT %QB21

  • sa_icon_message.png SA0028:dwVar2 AT %QD5



有关更多信息,请参阅: