将函数声明为外部函数并在中执行MATLAB软件
外部编码器(
声明功能
)功能
作为一种外在的功能。代码生成器不为外部函数体生成代码,而是使用MATLAB®引擎来执行调用。只有在MATLAB引擎在执行期间可用时,此功能才可用。MATLAB引擎可用的情况示例包括执行MEX函数、Simulink金宝app®代码生成时的模拟或函数调用(也称为编译时间).
在独立代码生成期间,代码生成器尝试确定外部函数是否影响调用它的函数的输出—例如,通过返回MX阵列
输出变量。如果输出没有变化,代码生成器继续生成代码,但从生成的代码中排除外部函数。否则,代码生成器将产生编译错误。
你不能使用编码器.ceval
通过使用外部编码器
.
外部编码器
在代码生成之外被忽略。
注意
代码生成器自动处理许多常用的MATLAB可视化函数,例如情节
,显示
,和图形
,作为外在的。您不必使用外部编码器
.
编码器。外部(函数1,函数n)
声明功能1
通过函数n
作为外部函数。
外部编码器(
在调用外部函数之前和之后,在MATLAB执行和生成的代码执行或Simulink模拟之间实现全局数据的同步金宝app'-sync:开'
,函数1,函数n)功能1
通过函数n
. 如果只有少数外部调用使用或修改全局数据,请通过将全局同步模式设置为,在所有外部函数调用之前和之后关闭同步在MEX功能入口和出口
. 使用'-sync:开'
选项仅对修改全局数据的外部调用启用同步。
看到了吗为全局数据生成代码(MATLAB编码器).
外部编码器(
在调用外部函数之前和之后,禁用MATLAB执行和生成代码执行之间的全局数据同步'-sync:关闭'
,函数1,函数n)功能1
通过函数n
. 如果大多数外部调用使用或修改全局数据,但少数调用不使用,请使用'-sync:关闭'
选项关闭不修改全局数据的外部调用的同步。
看到了吗为全局数据生成代码(MATLAB编码器).
外部函数调用的开销会影响性能。在外部函数调用中传递的输入数据必须提供给MATLAB,这需要制作数据的副本。如果函数有任何输出数据,则必须将这些数据传输回MEX函数环境,这也需要一个副本。
代码生成器不支持使用金宝app外部编码器
调用位于专用文件夹中的函数。
代码生成器不支持使用金宝app外部编码器
调用本地函数。