matlab在C C和C C在matlab中

似乎有几种方法可以在C C中调用matlab并在matlab中调用C C.当我尝试列出他们在这里,请指出,如果我想念的东西.

要在MATLAB中调用C C,还有两种方法.第一个是在C共享库中调用函数.第二个是将C C代码构建成二进制MEX文件,这将从MATLAB命令行调用.对于第一种方法,C共享库只是一般的,即不改变它们用于matlab的C代码,并从通用C编译器(如gcc)编译

要在C C中调用matlab代码,有两种方法可用.第一个是Matlab引擎.第二个是使用MATLAB Compiler mcc从MATLAB代码创建C或C共享库.

除了matlab和C C可以通过写入和读取数据与某些文件(例如,mat文件,文本文件)进行通信.

有多种方法来完成这里的每一个目标,你能告诉我哪些案件最适合使用哪些?即在C共享库中调用函数VS将C C代码构建成二进制MEX文件,Matlab引擎将Matlab代码编译成C C共享库.

感谢致敬!

最佳答案
我只有从MATLAB调用C或C函数的expreience.它看起来像我共享库中调用函数和MEX文件调用函数之间唯一的区别是使用共享库,您必须使用命令行类型函数’calllib’调用该函数,并且MEX函数允许您可以调用函数,就像它们是内置函数一样,因此界面有点清洁.

我的建议是使用MEX文件

>您正在使用C(您可能必须编写一个包装器才能在共享库中使用C)
>您正在使用MATLAB作为大量优化的C或C例程的胶水.你想要能够干脆地打电话给他们.

如果使用共享库

>您已经有一个现有的C库,可以使用而不进行修改.
>您只需要少量调用C函数.

真的,它归结于界面.我个人更喜欢MEX文件路由,因为它提供了从MATLAB到C或C函数的最干净的界面.您可以将其称为仅具有标准MATLAB类型的另一功能.使用共享库,您可能必须在调用库函数之前执行一些数据格式化

转载注明原文:matlab在C C和C C在matlab中 - 代码日志