代码生成假设的验证
在软件在环(SIL)或处理器在环(PIL)模拟开始时,软件会参照目标硬件验证一些配置参数设置。
例如,在“配置参数”对话框中硬件实现设置指定目标行为,这将导致在生成的代码中实现隐式假设。不正确的设置可能导致:
次优的代码
代码执行失败、不正确的代码输出和不确定的代码行为
软件检查:
设置的正确性。中的整数位长度比特数:int字段。
设置是否优化。中有符号整数除法的舍入有符号整数除法舍入到字段。
模拟生成一个编码器假设页面对于代码生成报告,它提供了以下列表:
检查的代码生成假设
假设检查的预期结果
该表显示了何时进行检查,以及当代码生成假设不正确时的结果。
阶段 | 检查什么 | 结果 |
---|---|---|
预处理器 |
比特数/:
如果金宝app支持很久很久( 对于每种数据类型,如果比特数超过目标C预处理器的这些设置,则不执行预处理器检查:
|
如果模型和目标硬件的数据类型大小不匹配,则错误。 |
运行时 |
比特数/:
|
如果模型和目标硬件的数据类型大小不匹配,则错误。 |
如果金宝app支持很久很久( |
错误,如果:
|
|
大小:
方法配置这些数据类型大小硬件实现窗格。只有当金宝app支持:浮点数被选中。 |
如果模型和目标硬件的数据类型大小不匹配,则发出警告。 为 |
|
比特数/:
|
如果模型和目标硬件的数据类型大小不匹配,则错误。 |
|
有符号整数除法舍入到( |
模型参数设置为时警告 如果目标硬件行为未定义且模型参数设置未定义,则错误 如果定义了目标硬件行为,但模型和目标硬件的设置不匹配,则错误。 |
|
字节次序( |
如果设置为 |
|
对有符号整数右移作为算术移位( |
如果模型和目标硬件的设置不匹配,则错误。 |
|
删除根级I/O零初始化( |
警告如果 |
|
删除内部数据零初始化( |
警告如果 |