我怎么能阻止MATLAB编码器在生成的代码删除变量名称吗?

15的观点(30天)
我用MATLAB编码器将MATLAB代码转换为C代码。在生成的代码中,MATLAB编码器截断的任何全局变量的名字超过30个字符。此外,MATLAB添加标识符像“c_ *”,或者“d_”*”开始的变量来区分那些截断后,变得一样了。因此,我不再能区分变量没有搜索代码。例如,假设我在MATLAB代码有以下变量:
全球this_is_a_very_long_variable_name
全球this_is_a_very_long_variable_name_to_use
MATLAB编码器转换后,这些变量有以下名称生成的C代码
c_this_is_a_very_long_variable_
d_this_is_a_very_long_variable_
是否有办法避免删除变量名在MATLAB编码器吗?

接受的答案

MathWorks支万博1manbetx持团队
你可以避免删除指定最大标识符长度的变量名。
在MATLAB编码器应用程序指定的最大长度:
  1. 进入“生成代码”窗格中,单击“更多设置”选项。这将打开一个弹出几个选项是可见的。
  2. 现在,导航到“代码外观”选项卡左边选项卡。您将看到的最大标识符长度字段默认设置为31日。您可以指定最大字符数生成函数,类型定义,变量名。避免截断目标标识符的C编译器,指定一个值相匹配的目标C编译器的最大标识符长度。
请注意,这个参数并不适用于出口标识符,如为入口点函数生成的名称或emxArray API函数。如果一个出口标识符的长度超过了最大标识符长度的目标C编译器,目标C编译器截断导出的标识符。
1评论
BCP
BCP 2021年6月15日
编辑:BCP 2021年6月15日
虽然JMAAB指南规定的最大字符的限制是63。有什么特殊的原因(除了改善可读性)为什么你有默认值设置为31吗?

登录置评。

更多的答案(0)

s manbetx 845


释放

R2015b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!