2. Tc2_System

2.14. Clear函数代码,如何清空字符串、结构体等变量类型的数值

封装memset将一片内存区域清零,使代码更精简.

注意:

1.此代码仅用于TwinCAT 3,如果TwinCAT 2要使用的话,要注意BC和X86的memset的size是不一样的

2.请不要滥用Clear,不要一个bool都用Clear.可以用于清空byte类型数组,但是不要用于清空string类型之类的数据类型,因为string类型还有结束符,一般清零结构体的方法是声明一个空的结构体进行赋值操作

3.mem系列的都是直接操作内存,效率会提高,但是要注意内存泄露问题,请谨慎使用

FUNCTION Clear : UDINT

VAR_INPUT

in:any;

END_VAR

Tc2_System.MEMSET(destAddr:=ADR(in.pValue[0]),fillByte:=0,n:=DINT_TO_UDINT(in.diSize));

Clear:=DINT_TO_UDINT(in.diSize);

使用方法:

在主程序中直接使用:

Clear(变量);


2024.5.17 汪继彬 编辑