主要内容

建造马铃薯接口到C ++库

创建一个matlab®接口到C ++库,使用CLIBGEN.包裹

建立(发布)对于C ++库的Matlab界面,您需要:

  • 一个或多个标题或源文件,包含库导出的所有函数的声明。您应该能够在C ++开发环境中编译这些文件,并在C ++应用程序中使用功能。

  • 共享库文件 -.dll.在Windows上®。所以在Linux上®, 或者。丁基苹果系统。如果在标题或源文件中完全定义库,则库文件是可选的。

    MATLAB不支持32位库。金宝app

  • 在Windows上 - 导入库.lib.文件。如果库遵守支持金宝app微软®视觉工作室®编译器,那么您只需要共享库.dll.文件。

  • 一个MATLAB支金宝app持的C ++编译器。

MATLAB接口会自动将C ++函数签名转换为MATLAB函数签名。但是,一些C ++语言构造在Matlab语言中没有唯一的匹配。为了弥合这个差距,Matlab使用一个库定义文件(随着.mlx.文件扩展名)发布者创建和修改以提供缺失信息。出版商必须有足够的C ++语言技能来解释函数签名并提供缺失的信息。

发布者需要定义的信息示例与使用有关指针将数据传递给函数。指针是内存中的位置,指示数据块的开始。要安全地将此数据传递给MATLAB,发布者必须指定数据的大小。通常,函数文档指示数据的大小,也许是附加输入参数。使用MATLAB定义文件,Publisher指定值,然后MATLAB创建等效的MATLAB函数签名。要显示功能签名,请参阅显示MATLAB接口到C ++库的帮助

要使此界面可用于其他MATLAB用户,请使用MATLAB接口文件提供。最终用户将共享库文件放在系统路径或运行时路径上以及MATLAB路径上的接口文件。

例子:

有关在库中调用函数的信息,请参阅使用预构建Matlab接口到C ++库

职能

clibgen.generatelibrarydefinition. 为C ++库创建定义文件
clibgen.buildInterface. 没有定义文件创建C ++库的接口

CLIBGEN包装 包和类摘要,以支持调用C ++库功能金宝app马铃薯

话题

C ++库构建接口的要求

从MATLAB中的外部共享C ++库中的函数的要求。

将MATLAB接口发布到C ++库的步骤

为C ++库发布接口的概述。

定义C ++库的MATLAB接口

生成并编辑MATLAB.mlx.库定义文件要自定义和定义接口。

发布MATLAB接口的帮助文本到C ++库

为C ++库提供MATLAB接口的最终用户的文档。

构建C ++库界面并查看内容

如果缺少库功能,则库可能包含不受支持的语言功能或数据类型。金宝app

使用源文件发布到C ++库的接口

此示例在源文件中定义的C ++库创建MATLAB接口矩阵operations.cpp.

在Windows上发布对共享C ++库的接口

此示例将MATLAB接口的Windows版本创建为C ++库基质化

在Linux上发布对共享C ++库的界面

此示例为C ++库创建MATLAB接口的Linux版本基质化

发布仅用于标头C ++库的界面

此示例将MATLAB接口创建到标题文件中定义的C ++库学校.HPP.

故障排除

对C / C ++支持的限制金宝app

Matlab不支持C / C ++库功能。金宝app

C ++限制解决方法示例

围绕C ++库限制工作的示例代码。

C ++接口问题故障排除

解决C ++接口问题的信息。

错误在麦斯卡斯上解析头文件

在解析头文件上的错误时解决错误苹果系统

由于编译时间检查而构建错误

如何删除包含编译时断言的C ++成员。