概述
本帖最后由 hpp19860 于 2017-5-23 11:10 编辑
各位大神好,我刚开始入手代码生成。发现外部函数 testfun() 在状态图的位置不一样会导致产生的代码差别很大。file:///D:Program Files (x86)QQQQmsg52747630ImageC2C7VI6XP9H6}L5MKU}P6`MR%P.png testfun() 函数为外部c 函数,问了几个大神大门告诉我产生这个的原因是流程调用和状态调用的差别,我想问下流程调用和状态调用是什 么意思,多谢!
调用方式一:在状态入口处调用testfun函数生成代码中会多如下部分(见图1)
生成的代码会对模型中的 i 值进行一系列的判断
if (mytest_DW.i < 2.147483648E+9) { if (mytest_DW.i >= -2.147483648E+9) {
tmp = (int32_T)mytest_DW.i;
} else {
tmp = MIN_int32_T;
}
} else {
tmp = MAX_int32_T;
}
调用方式二:在状态默认迁移处调用testfun函数生成代码中会多如下部分(见图2)
此方式中自动生成的代码没有对模型中的 i 值进行任何判断,而是直接拿来用
if (mytest_DW.is_active_c3_mytest == 0U) {
<最后
以上就是爱撒娇期待为你收集整理的matlab 调用外部函数,matlab 流程调用外部函数和状态调用外部函数 的疑问的全部内容,希望文章能够帮你解决matlab 调用外部函数,matlab 流程调用外部函数和状态调用外部函数 的疑问所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复