在Matlab代码中使用dll文件

3

我需要在Matlab中使用一个由dll文件定义的函数。我找到了一个示例,那个人将一个dll转换为mexw32文件,但我不知道该如何做。我尝试使用loadlibrary,但它没有创建任何文件。我应该怎么做呢?


"loadlibrary"会将一个dll文件加载到MATLAB中,如果您想创建一个mexw32文件,您需要创建一个C-MEX函数,这是您想要的吗? - macduff
是的....我该如何创建一个C-MEX函数? - ACB
1个回答

2

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

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

区别在于它有一个特定的网关例程叫做mexFunction,它将输入和输出都作为mxArray类型接收。mxArray是在mex.h头文件中定义的不透明类型,它是所有MATLAB数据的基本类型。通常使用MEX库API中的函数来操作这些数据。


@ACB:我已经提供了两种情况(loadlibrary和MEX-functions)相关文档的链接。里面有很好的解释 :) - Amro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接