【问题标题】:Should I access a C library from Matlab through `loadlibrary` or through a MEX file?我应该通过“loadlibrary”还是通过 MEX 文件从 Matlab 访问 C 库?
【发布时间】:2019-09-15 00:39:00
【问题描述】:

我需要使用从 MATLAB 用 C 语言开发的共享库 (DLL),我想知道使用 loadlibrary 函数和在 MEX 文件中实现 C 库中的函数有什么区别?

【问题讨论】:

    标签: c matlab dll mex


    【解决方案1】:

    loadlibray 函数使您能够通过外部函数接口调用现有 C 库中的函数。相比之下,MEX file functions 是一种用 C(或 C++、Fortran)编写函数的机制,可以像常规 Matlab 函数一样调用。

    现在一种典型的使用模式是编写 MEX 函数,包装来自外部库的现有 C 函数(并将这些 MEX 文件链接到库)。不过,这需要一些工作和小心,因为您必须自己用 C 语言编写包装函数。一个有用的起点是 timestwo example

    但如果您只需要调用 C 库中的特定函数,并且不需要对输入/输出数据进行间歇性转换,那么loadlibrary 路径可能更容易。

    【讨论】:

      猜你喜欢
      • 2012-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-28
      • 1970-01-01
      • 2022-12-21
      • 1970-01-01
      • 2019-06-09
      相关资源
      最近更新 更多