我需要使用在MATLAB中用C开发的共享库(DLL),我想知道使用loadlibrary
函数和在MEX文件中实现C库中的函数之间的区别是什么?
loadlibray函数使您可以通过外部函数接口从现有C库调用函数。相比之下,MEX file functions是一种在C(或C ++,Fortran)中编写函数的机制,可以像常规Matlab函数一样调用它。
现在,一种典型的使用模式是编写MEX函数,从外部库中包装现有的C函数(并将这些MEX文件链接到库)。这需要一些工作和关心,因为你必须自己在C中编写包装函数。一个有用的起点是时间两个example。
但是,如果您只需要从C库中调用特定函数,并且不需要间歇转换输入/输出数据,则loadlibrary
路径可能更容易。