【问题标题】:Using a dll file in matlab code在 matlab 代码中使用 dll 文件
【发布时间】:2013-06-14 20:42:52
【问题描述】:

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

【问题讨论】:

  • loadlibrary 会加载一个dll到MATLAB中,如果你想创建一个mexw32文件,你需要创建一个C-MEX函数,这是你想要的吗?
  • 是....如何创建 C-MEX 函数?

标签: matlab dll shared-libraries mex loadlibrary


【解决方案1】:

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

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

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

【讨论】:

  • @ACB:我提供了两个案例(loadlibrary 和 MEX 函数)相关文档的链接。那里解释得很好:)
猜你喜欢
  • 1970-01-01
  • 2020-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-20
  • 2013-10-09
  • 2022-08-02
相关资源
最近更新 更多