此示例创建了一个matlab®在标题文件中声明的C ++库的接口母系.HPP.
并在C ++源文件中定义矩阵operations.cpp.
。MATLAB提供这些源文件供您在此示例中使用。文件位于此文件夹中:
fullfile(matlabroot,'extern'那'例子'那'cpp_interface')
此示例创建共享库文件。有关使用MATLAB预设的共享库文件的示例,请参阅在Windows上发布对共享C ++库的接口。
您可以使用MathWorks支持的任何C ++编译器。金宝app要验证您有C ++编译器,请键入:
梅克斯-设置CPP.
此示例使用Microsoft Visual C ++ 2017编译器。
标识C ++库工件的名称和路径。
productpath = fullfile(matlabroot,'extern'那'例子'那'cpp_interface');hppfile ='矩阵operations.hpp';cppfile ='矩阵operations.cpp';
称呼clibgen.generatelibrarydefinition.
。
clibgen.generatelibrarydefinition(Fullfile(ProductPath,HPPFile),......“金宝app支持带源文件”,fullfile(productpath,cppfile),......“includepath”,产品路径,......“returncarrays”,错误的)%处理输出作为matlab阵列
使用Microsoft Visual C ++ 2017编译器。生成的定义文件definematrixoperations.mlx和数据文件'matrixoperationsdata.xml'包含Matlab支持的10个构造的定义。金宝app5构造要求(s)其他定义。要在界面中包含这些构造,请在refileematrixoperations.mlx中编辑定义。使用构建构建(Defenematrixoperations)。
要定义缺少的构造,请单击链接中的链接generatelibrarydefinition.
输出消息以编辑定义deffenematrixoperations.mlx.
。有关编辑此文件的信息和用于指定参数的示例,请参阅定义MATLAB签名的缺失信息。
搜索定义文件setmat.
方法和取消注释定义它的语句。定义SRC.
论证,在这默认
声明,替换
和“len”
。
DefineArgument(SetMatdefinition,“src”那“clib.array.matrixoperations.int”那“输入”那“len”);
在方法中getmat.
,定义守价
通过更换输出
和“len”
。
defineOutput(getMatdefinition,“retval”那“int32”那“len”);
在方法中椰子
,定义Dest.
替换的论点
和“len”
。
DefineArgument(副本,“滴下”那“clib.array.matrixoperations.int”那“输入”那“len”);
在功能中addmat.
,定义垫
功能中的论证addmat.
通过更换
和1
。
DefineArgument(AddMatdefinition,“垫”那“clib.matrixoperations.mat”那“输入”,1);
在功能中updatematbysize.
,定义arr.
替换的论点
和“len”
。
defineargument(Updatematbysizedefinition,“arr”那“clib.array.matrixoperations.int”那“输入”那“len”);
保存并关闭定义文件。
定义;
摘要(Defenematrixoperations)
MATLAB接口到矩阵interfile interface interface grounducts class clib.matrixoperations.mat构造函数.mat构造函数.mat()clib.matrixoperations.mat(clib.matrixoperations.mat)方法:setmat(clib.array.matrixoperations.int)Int32 GetMat(UINT64)UINT64getLength()copymat(clib.array.matrixoperations.int)没有属性定义函数int32 clib.matrixoperations.addmat(clib.matrixoperations.mat)clib.matrixoperations.updatematyx(clib.matrixoperations.mat,int32)clib.matrixoperations.updatematbysize(clib.matrixoperations.mat,clib.array.matrixoperations.int)
构建(Defenematrixoperations)
构建界面文件'矩阵operIntersface.dll'。界面文件'矩阵映射interface.dll'文件夹'c:\ users \ romixoperations'。要使用库,请将界面文件文件夹添加到MATLAB路径。
点击接口文件文件夹
链接将接口添加到路径。或者,类型:
addpath('矩阵工程')
在MATLAB命令提示符下,显示接口的帮助。键入此命令以加载包。
博文clib.matrixoperations.mat
要显示包的成员,请键入:
博文Clib.matrixoperations.
要显示包功能的签名,请单击链接addmat.
那updatematbyx.
, 和updatematbysize.
。
显示有关类的信息clib.matrixoperations.mat
,单击链接垫
。
测试接口中的功能。例如,类型:
matobj = clib.matrixoperations.mat;%创建垫子对象Intarr = [1,2,3,4,5];matobj.setmat(Intarr);%将值设置为IntarrRetmat = matobj.getmat(5)%显示值
Retmat = 1×5 Int32行向量1 2 3 4 5
建造
|clibgen.generatelibrarydefinition.
|概括