包:编码器
申报非本征函数或函数
coder.extrinsic ('function_name”);
coder.extrinsic ('function_name_1”,……”,function_name_n”);
coder.extrinsic ('同步:”、“function_name”);
coder.extrinsic ('同步:”、“function_name_1”,……”,function_name_n”);
coder.extrinsic ('同步:了”、“function_name”);
coder.extrinsic ('同步:了”、“function_name_1”,……”,function_name_n”);
function_name
function_name_1,……,function_name_n
声明function_name
或function_name_1
通过function_name_n
非本征函数。
同步:
function_name
或function_name_1
通过function_name_n
。
使全球MATLAB之间数据的同步®和墨西哥人函数调用之前和之后的外在功能,function_name
或function_name_1
通过function_name_n
。如果只有少数外在调用修改全局数据,关闭所有非本征函数调用之前和之后同步全球同步模式通过设置在MEX-function出入境
。使用同步:选择打开同步的外在要求做修改全局数据。
持续的全球数据,使之间的一致性验证MATLAB和墨西哥人函数调用外部函数后,function_name
或function_name_1
通过function_name_n
。
同步:了
禁用之间的全局数据同步MATLAB和墨西哥人函数调用之前和之后外在功能,function_name
或function_name_1
通过function_name_n
。如果大多数外部调用修改全局数据,但一些不这样做,你可以使用同步:了选择关闭同步的外在要求不修改全局数据。
持续的全球数据,禁用验证MATLAB之间的一致性和墨西哥人函数调用外部函数后,function_name
或function_name_1
通过function_name_n
。
coder.extrinsic
声明外在功能。在仿真过程中,代码生成器生成的代码调用一个外部函数,但不生成函数内部的代码。因此,模拟只能运行在MATLAB软件平台上的安装位置。在独立的代码生成,MATLAB试图确定外在影响的输出函数,称为——例如通过返回mxArrays
一个输出变量。只要没有改变输出,MATLAB与代码生成收益,但不包括非本征函数生成的代码。否则,编译错误发生。
你不能使用coder.ceval
在函数声明外部使用coder.extrinsic
。
coder.extrinsic
忽略之外的代码生成。
非本征函数调用一些开销,如何影响性能。输入数据传入必须提供一个外部函数调用MATLAB,需要复制的数据。如果函数有任何输出数据,这些数据必须传输回墨西哥人功能的环境,也需要一个副本。
下面的代码声明了MATLAB函数补丁
外在的MATLAB本地函数create_plot
。
函数c =毕达哥拉斯(a, b,颜色)% # codegen %计算一个直角三角形的斜边%并显示三角形作为补丁对象。c =√a ^ 2 + ^ 2);create_plot (a, b,颜色);函数create_plot (a, b,颜色)%宣布补丁为外在coder.extrinsic(“补丁”);x = [0;;];y = (0, 0; b);补丁(x, y,颜色);轴(“平等”);
通过声明补丁
作为外在,你指导代码生成器不编译或产生代码补丁
。相反,代码生成器分派补丁
为执行MATLAB。