MATLAB®提供与其他编程语言的灵活双向集成,允许您重用遗留代码。有关编程语言和受支持版本的列表,请参阅万博1manbetxMATLAB支万博1manbetx持的其他语言接口.
MATLAB提供了这些功能,帮助您将C/C++算法集成到MATLAB应用程序中。
C/C++共享库接口是应用程序在运行时动态加载的函数集合。使用共享库的优点是将多个库函数打包到一个接口中。此外,MATLAB管理数据类型转换。
调用C++库函数——在C++共享库中调用函数,使用克里布
中描述的包MATLAB中的C++库.
只要可能,就选择C++接口上的C++接口。有关C++支持的信息,请参见万博1manbetx局限性.
要调用C共享库中的函数,请使用calllib
函数。有关信息,请参阅MATLAB中的C库. 此功能在仅使用C语言的库中效果最好,但具有以下功能局限性.
如果您希望对数据转换和内存管理有更多的控制,请考虑编写MEX文件。
MEX文件是围绕C/C++算法编写的包装代码,该算法处理MATLAB数据类型到C类型的转换。MEX文件提供了比通过MATLAB共享库接口调用函数更好的性能。此外,MEX文件还为您提供了对数据转换和内存管理的更多编程控制。
C++ MEX应用程序使用现代C++编程特点,并尽可能共享数据副本。
C MEX文件应用程序使用C矩阵API现有MEX功能万博1manbetx支持和。MaWorks:建议尽可能在C++ MEX文件应用程序上选择C++ MeX。但是,如果MEX函数必须在MatlabR2017B或更早版本中运行,则使用C矩阵库编写MEX函数。
如果在库中具有多个功能或没有性能问题,请考虑编写C++库接口。
这些功能需要C/C++编程技能来创建库接口或编写MEX函数。但是,您可以将生成的库或MEX函数提供给任何MATLAB用户。最终用户像调用任何MATLAB函数一样调用该功能,而不知道C/C++语言实现的基本细节。
要从C/C++语言程序调用MATLAB,请参见C++的MATLAB引擎API或用于C语言的MATLAB引擎API.
如果您有其他编程语言中的函数和对象,可以从MATLAB调用它们。您不需要是软件开发人员就可以将这些对象集成到MATLAB应用程序中。但是,您需要访问这些库的第三方文档。
MATLAB支万博1manbetx持用以下语言调用函数和使用对象。
MEX文件函数对于C/C++和Fortran
您可以使用另一种语言调用MATLAB发动机应用. 使用MATLAB引擎API,从您自己的应用程序调用MATLAB函数。MATLAB有以下语言的API。
要创建引擎应用程序,请安装支持MATLAB的编译器并使用万博1manbetx墨西哥
命令来构建应用程序。
您可以编写自己的函数,并使用MEXAPI将它们作为MATLAB函数调用。有关更多信息,请参阅选择MEX应用程序. 您可以用以下语言编写MEX函数。
要创建MEX文件,请安装支持MATLAB的编译器并使用万博1manbetx墨西哥
命令来构建函数。
您可以从MATLAB与web服务通信。
MATLABRESTful web服务功能允许非程序员使用HTTPGET和POST方法访问许多web服务。
对于RESTfulWeb服务功能不支持的功能万博1manbetx,请使用HTTP接口类用于编写定制的web访问应用程序。
如果您的web服务基于web服务描述语言(WSDL)文档技术,则使用MATLABWSDL函数.