我应该通过`loadlibrary`或通过MEX文件从Matlab访问C库吗?

问题描述 投票:0回答:1

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

c matlab dll mex
1个回答
2
投票

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

现在,一种典型的使用模式是编写MEX函数,从外部库中包装现有的C函数(并将这些MEX文件链接到库)。这需要一些工作和关心,因为你必须自己在C中编写包装函数。一个有用的起点是时间两个example

但是,如果您只需要从C库中调用特定函数,并且不需要间歇转换输入/输出数据,则loadlibrary路径可能更容易。

© www.soinside.com 2019 - 2024. All rights reserved.