主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

括号层级

生成代码的括号样式

模型配置窗格: 代码生成 / 代码样式

描述

指定生成的代码的括号样式。

设置

标准 (优化以便于阅读) (默认) | 最少 (依赖 C/C++ 运算符确定优先级) | 标准 (按标准规范使用括号) | 最多 (用括号指定优先级)

默认值:标准 (优化以便于阅读)

最少 (依赖 C/C++ 运算符确定优先级)

仅在 ANSI® 需要的地方插入括号1 C 或 C++,或者覆盖默认优先级。

如果您使用最低级别生成 C/C++ 代码,则对于某些编译器中的某些设置,您可能会收到编译器警告。要消除这些警告,请尝试名义级别。

标准 (优化以便于阅读)

以在可读性和视觉复杂性之间妥协的方式插入括号。

标准 (按标准规范使用括号)

以需要 MISRA™ 的方式插入括号2 合规性和更好的代码可读性。使用此设置生成的代码符合 MISRA 要求。

最多 (用括号指定优先级)

包括括号来指定含义而不依赖于运算符优先级。使用此设置生成的代码符合 MISRA 要求。

示例

全部展开

当将括号层级设置为不同的值时,比较生成的代码中的括号。

这是使用默认括号层级标准 (优化以便于阅读) 生成的代码:

Out = ((In2 * In1 - In1 > 1.0) && (In2 > 2.0));

以下是将括号层级设置为最少 (依赖 C/C++ 运算符确定优先级) 后生成的相同代码:

Out = In2 * In1 - In1 > 1.0 && In2 > 2.0;

以下是将括号层级设置为标准 (按标准规范使用括号) 后生成的相同代码:

Out = (((In2 * In1) - In1 > 1.0) && (In2 > 2.0));

以下是将括号层级设置为最多 (用括号指定优先级) 后生成的相同代码:

 Out = ((((In2 * In1) - In1) > 1.0) && (In2 > 2.0));

推荐的设置

应用情形设置
调试标准 (优化以便于阅读)
可追溯性标准 (优化以便于阅读)
效率最少 (依赖 C/C++ 运算符确定优先级)
安全预警

无建议

编程用法

参数:ParenthesesLevel
类型:字符向量
值: 'Minimum' | 'Nominal' | 'Standards' | 'Maximum'
默认值:'Nominal'

版本历史记录

在 R2006b 中推出


1 ANSI is a registered trademark of the American National Standards Institute, Inc.

2 MISRA is a registered trademarks of MIRA Ltd, held on behalf of the MISRA Consortium.