在matlab代码中使用dll文件

时间:2013-06-14 20:42:52

标签: matlab dll shared-libraries mex loadlibrary

我需要在matlab中使用由dll文件定义的函数。我有一个例子,那个人将一个dll转换为mexw32文件,但我知道我是如何做到这一点的。我尝试使用 loadlibrary ,但它没有创建任何文件。 我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

loadlibrary是MATLAB的FFI服务实现,这是一种在外部共享库中调用函数的机制。它涉及在C类型及其等效的MATLAB数据类型之间进行转换以传递数据。

MEX-files也是一种动态链接库(扩展名为.mex*),可以作为常规函数直接在MATLAB中运行,无需任何特殊语法。

不同之处在于它有一个名为mexFunction的特定网关例程,它接收输入和输出为mxArray类型。 mxArraymex.h头文件中定义的opaque类型,它是所有MATLAB数据的基础类型。您通常使用MEX library API中的函数来操作此数据。