将函数声明为外部函数并在中执行MATLAB
外部编码器(
宣布作用
)作用
作为一个外部函数。代码生成器不为外部函数体生成代码,而是使用MATLAB®引擎来执行调用。仅当MATLAB引擎在执行期间可用时,此功能才可用。MATLAB引擎可用的情况示例包括执行MEX函数、Simulink金宝app®模拟或代码生成时的函数调用(也称为编译时).
在独立的代码生成过程中,代码生成器试图确定一个外部函数是否影响调用它的函数的输出—例如通过返回mxArrays
转换为输出变量。如果输出没有变化,代码生成器将继续进行代码生成,但从生成的代码中排除外部函数。否则,代码生成器将产生编译错误。
你不能使用塞瓦尔编码员
在通过使用声明为外部的函数上coder.extrinsic
.
coder.extrinsic
在代码生成之外被忽略。
请注意
代码生成器自动处理许多常见的MATLAB可视化函数,例如情节
,disp
和数字
外在。你不需要使用显式声明它们为外部函数coder.extrinsic
.
外部编码器(function1,...functionN)
宣布function1
通过functionN
作为外在功能。
外部编码器(
在调用外部函数之前和之后,启用MATLAB执行与生成代码执行或Simulink模拟之间的全局数据同步金宝app的同步:
, function1,…functionN)function1
通过functionN
.如果只有少数外部调用使用或修改全局数据,则通过将全局同步模式设置为,在所有外部函数调用之前和之后关闭同步在mex功能入口和出口
.使用的同步:
选项仅为修改全局数据的外部调用启用同步。
如果你使用MATLAB编码器™生成MEX函数,在调用外部函数后,可以验证MATLAB和MEX函数之间常量全局数据的一致性。
看到为全局数据生成代码.
外部编码器(
在调用外部函数之前和之后,禁用MATLAB执行和生成代码执行之间的全局数据同步“同步:掉”
, function1,…functionN)function1
通过functionN
。如果大多数外部调用使用或修改全局数据,但少数不使用,请使用“同步:掉”
选项关闭不修改全局数据的外部调用的同步。
如果你使用MATLAB编码器为了生成MEX函数,在调用外部函数后,禁止验证MATLAB和MEX函数之间常量全局数据的一致性。
看到为全局数据生成代码.
外部函数调用有一些可能影响性能的开销。外部函数调用中传递的输入数据必须提供给MATLAB,这需要对数据进行复制。如果函数有任何输出数据,则必须将这些数据传输回MEX函数环境,这也需要一个副本。
代码生成器不支持使用金宝appcoder.extrinsic
调用位于专用文件夹中的函数。
代码生成器不支持使用金宝appcoder.extrinsic
调用本地函数。