【发布时间】:2019-09-15 00:39:00
【问题描述】:
我需要使用从 MATLAB 用 C 语言开发的共享库 (DLL),我想知道使用 loadlibrary 函数和在 MEX 文件中实现 C 库中的函数有什么区别?
【问题讨论】:
我需要使用从 MATLAB 用 C 语言开发的共享库 (DLL),我想知道使用 loadlibrary 函数和在 MEX 文件中实现 C 库中的函数有什么区别?
【问题讨论】:
loadlibray 函数使您能够通过外部函数接口调用现有 C 库中的函数。相比之下,MEX file functions 是一种用 C(或 C++、Fortran)编写函数的机制,可以像常规 Matlab 函数一样调用。
现在一种典型的使用模式是编写 MEX 函数,包装来自外部库的现有 C 函数(并将这些 MEX 文件链接到库)。不过,这需要一些工作和小心,因为您必须自己用 C 语言编写包装函数。一个有用的起点是 timestwo example。
但如果您只需要调用 C 库中的特定函数,并且不需要对输入/输出数据进行间歇性转换,那么loadlibrary 路径可能更容易。
【讨论】: