本文研究Embedded Coder中的Code Style配置,通过一些模型示例和代码直观地比较配置对代码生成的影响。由于配置选项很多,本文会长期更新。
文章目录
1 Code Style配置
Embedded Coder中的Code Style配置影响了生成代码的风格。通过Code Style配置可以生成出符合阅读习惯的代码,或是符合某种行业标准的代码。
在Simulink配置窗口的Code Generation下可以找到Code Style配置。
2 Replace multiplications by powers of two with signed bitwise shifts
2.1 描述
勾选此配置,乘法模块生成的代码会变成C语言中的左移或右移运算,而不是用星号*表示相乘。
2.2 模型示例
建立如下包含乘法运算的模型。其中,两个Inport的类型选为int8,乘法模块的类型选为int16。这是因为移位运算是对于整型数而言的。
2.3 生成代码
如果勾选了这一项,生成出的代码就会是左移1位。
反之,不勾选的时候,就是星号*乘以2。
2.4 分析与思考
博主试过乘以非2的幂次方的数,比如5,无论是否勾选都会生成星号*的代码。
博主好像记得,移位运算操作比普通操作要快一些的。这好像涉及到一些计算机指令的知识,如果哪位同行了解的话希望评论中指教一下。