memset优化
生成的代码优化连续文字常量赋值给数组元素,代码生成器试图替换的代码memset
调用。一个memset
电话可以更有效为
连续循环或多个元素赋值。此表显示生成的示例C代码有或没有memset
。
生成的代码使用memset优化 | 生成的代码没有memset优化 |
---|---|
memset (y [0], 125, 100 u * sizeof (char)签署); |
(我= 0;我< 100;我+ +){Y[我]= 125; |
memset (z [0] 0 1000 u * sizeof(双)); |
Z [0] = 0.0;Z [1] = 0.0;Z [2] = 0.0;…Z [999] = 0.0; |
代码生成器可以使用memset
优化分配的整数常数或浮点零。的使用memset
取决于:
值的大小来分配。尺寸必须符合一个C / c++的要求
memset
调用。分配的字节数。分配的字节数是数组元素的数量乘以所需的字节数C / c++的数据类型。
如果元素的数量分配在编译时是已知的,那么代码生成器生成
memset
称只有当的字节数大于或等于阈值。如果在编译时不知道的元素数量,然后代码生成器生成
memset
不考虑阈值。
的memset
优化阈值是一样的memcpy
优化阈值。默认的阈值是64个字节。改变阈值:
在命令行,设置代码配置对象的属性
MemcpyThreshold
。在MATLAB®编码器™应用程序,Memcpy阈值(字节)。
转让浮点零,启用或禁用memset
优化:
在命令行,设置代码配置对象的属性
InitFltsAndDblsToZero
来真正的
或假
。默认值是真正的
。在MATLAB编码器应用程序,0.0使用memset浮点数和双精度数进行初始化来
是的
或没有
。默认值是是的
。