简化相乘操作数组索引的循环
如果你使用嵌入式编码器®从MATLAB生成C / c++代码®代码,你可以使一个优化,简化了在循环中数组索引在生成的代码中。如果可能,在循环中数组索引,这种优化替代乘法操作添加操作。用操作可以是昂贵的。称为强度降低,这种优化是有用,当C / c++编译器在目标平台上不优化的数组索引。
这是生成的代码没有优化:
(我= 0;我< 10;我+ +){z [5 * (1 + i) - 1) = x (5 * (1 + i));}
这是代码生成与优化:
(b_i = 0;b_i < 10;b_i + +) {z (+ 4) = x (+ 5);我+ = 5;}
默认情况下,强度降低优化是禁用的。启用:
在命令行,设置配置对象参数
EnableStrengthReduction
来真正的
。在MATLAB编码器™应用,项目构建设置,在所有设置选项卡,设置简化数组索引来
是的
。
即使优化替代乘法操作在生成的代码中,可能是C / c++编译器可以生成乘法指令。