主要内容

优化生成的代码通过包装布尔数据为本

这个例子展示了如何优化生成的代码通过包装布尔数据为本。当您选择模型配置参数包布尔数据为本,嵌入式编码器®包本布尔信号比特,减少内存消耗。默认情况下,启用了优化。这种优化减少了内存消耗。请注意,这种优化可以增加代码大小和执行速度。

示例模型

考虑到模型rtwdemo_pack_boolean

模型=“rtwdemo_pack_boolean”;open_system(模型);

禁用优化

  1. 打开配置参数对话框。

  2. 优化>信号和参数窗格中,清晰的包布尔数据为本

或者,您可以使用命令行API禁用优化:

set_param(模型,“BooleansAsBitfields”,“关闭”);

创建一个临时文件夹(在你的系统临时文件夹)的构建和检验过程。

currentDir = pwd;[~,cgDir] = rtwdemodir ();

没有生成代码优化

使用嵌入式程序员®构建模型。

rtwbuild(模型)
# # #开始构建过程:rtwdemo_pack_boolean # # #成功完成构建过程:rtwdemo_pack_boolean模型建立目标:总结构建模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = rtwdemo_pack_boolean代码生成和编译代码生成信息文件不存在。1 1模型的建立(0模型已经更新)构建持续时间:0 h 0米14.932秒

查看生成的代码没有优化。这些代码行rtwdemo_pack_boolean.h

hfile = fullfile (cgDir,“rtwdemo_pack_boolean_ert_rtw”,“rtwdemo_pack_boolean.h”);rtwdemodbtype (hfile/ *块信号和状态的,/ *外部输入的1 0);
/ *块信号和状态(默认存储)系统的<根> * / typedef struct {boolean_T LogicalOp1;/ * < Root > /逻辑Op1的* / boolean_T LogicalOp2;/ * < Root > /逻辑Op2”* / boolean_T LogicalOp5;/ * < Root > /逻辑Op5”* / boolean_T LogicalOp3;/ * < Root > /逻辑Op3”* / boolean_T LogicalOp4;/ * < Root > /逻辑Op4”* / boolean_T RelationalOperator;/ *的关系操作符< Root > / * / boolean_T UnitDelay_DSTATE;/ * < Root > /单元的延迟* /}DW;

启用优化

  1. 打开配置参数对话框。

  2. 优化>信号和参数窗格中,选择包布尔数据为本

或者,您可以使用命令行API启用优化:

set_param(模型,“BooleansAsBitfields”,“上”);

生成代码的优化

使用嵌入式程序员®构建模型。

rtwbuild(模型)
# # #开始构建过程:rtwdemo_pack_boolean # # #成功完成构建过程:rtwdemo_pack_boolean模型建立目标:总结构建模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = rtwdemo_pack_boolean代码生成和编译生成的代码是过时了。1 1模型的建立(0模型已经更新)构建持续时间:0 h 0米13.626秒

查看生成的代码的优化。这些代码行rtwdemo_pack_boolean.h

hfile = fullfile (cgDir,“rtwdemo_pack_boolean_ert_rtw”,“rtwdemo_pack_boolean.h”);rtwdemodbtype (hfile/ *块信号和状态的,/ *外部输入的1 0);
/ *块信号和状态(默认存储)系统的<根> * / typedef struct {struct {uint_T LogicalOp1:1;/ * < Root > /逻辑Op1的* / uint_T LogicalOp2:1;/ * < Root > /逻辑Op2”* / uint_T LogicalOp5:1;/ * < Root > /逻辑Op5”* / uint_T LogicalOp3:1;/ * < Root > /逻辑Op3”* / uint_T LogicalOp4:1;/ * < Root > /逻辑Op4”* / uint_T RelationalOperator: 1;/ *的关系操作符< Root > / * / uint_T UnitDelay_DSTATE: 1;/ * < Root > /单元的延迟* /}bitsForTID0;}DW;

选择包布尔数据为本使模型配置参数设置说明符类型说明符。进一步优化代码,选择uchar_t。然而,优化的好处设置说明符类型说明符设置取决于你所选择的目标。

关闭模型和代码生成报告。

bdclose rtwdemoclean(模型);cd (currentDir)

另请参阅

相关的话题