matlab - 在matlab代码中使用dll文件

标签 matlab dll shared-libraries mex loadlibrary

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

最佳答案

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

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

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

关于matlab - 在matlab代码中使用dll文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17116947/

相关文章:

algorithm - 遗传算法的最优参数

dll - 如何查看两个 DLL 之间的差异?

c++ - 使用带有 python 的 DLL(使用 ctypes),不工作

c++ - 无法链接到现有的 libopenblas.so.0 DLL

linux - 未找到 SQLite libsqlite3.so.0

matlab 可执行文件返回 SVN 修订号

matlab - 将所有的 1 连续相加?

matlab - 在 Matlab 中插入 3D 圆柱体的表面

windows - 在 Windows 上使用 gfortran 创建 DLL

c++ - 我应该如何实现我的 C++ 异常?