入口点函数是顶级的MATLAB®用来生成代码的函数。如果你的入口点函数有输入,你必须指定输入的属性来生成一个MEX函数。在这种情况下,生成的MEX函数只能使用您在代码生成期间指定的入口点函数的签名。
如果您的入口点函数支持多个签名,那么您可以生成一个单独的M万博1manbetxEX函数,而不是为每个签名生成一个单独的MEX函数。生成的MEX函数使用代码生成期间提供的多个签名。
通过使用multisignature MEX功能,您可以:
生成一个支持入口点函数中指定的多个签名的MEX函数。万博1manbetx
减少为入口点函数的每个签名生成和使用单独的MEX函数所涉及的开销。
在生成的MEX函数中实现MATLAB类函数行为。
要生成一个多签名的MEX函数,请考虑这个函数myAdd
:
函数y = myAdd (a, b)% # codegeny = a + b;结束
myAdd
这适用于三种不同的数据类型:双
,int8
,向量的双打
。指定三个参数为:{1,2}
,int8 {int8 (2), (3)}
,{1:10,1:10}
。
生成代码myAdd
函数,在MATLAB命令行运行该函数codegen
命令:
codegen配置:墨西哥人myAdd.marg游戏{1,2}arg游戏int8 {int8 (2), (3)}arg游戏{1:10,1:10}报告
myAdd_mex
中指定的签名codegen
命令。
在命令行,调用生成的MEX函数myAdd_mex
。确保您传递的值myAdd_mex
属性中指定的输入属性codegen
命令。
myAdd_mex (3、4)
ans = 7
int8 myAdd_mex (int8 (5) (6))
11 . a)【句意
myAdd_mex (1:10, 2:11)
ans = 3 5 7 9 11 13 15 17 19 21
运行MATLAB函数myAdd
使用这些输入值生成相同的输出。这些测试用例验证了这一点myAdd
和myAdd_mex
有相同的行为。
多签名的MEX生成不支持:万博1manbetx
多入口点MEX函数。
fiaccel
-float2fixed
配置。
以编程方式定义输入参数。有关更多信息,请参见在MATLAB文件中以编程方式定义输入属性。