主要内容

整合MATLAB使用外部编程语言和系统

MATLAB®提供与其他编程语言的灵活双向集成,允许您重用遗留代码。有关编程语言和受支持版本的列表,请参阅万博1manbetxMATLAB支万博1manbetx持的其他语言接口.

从调用C/C++代码MATLAB

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应用程序中。但是,您需要访问这些库的第三方文档。

MATLAB支万博1manbetx持用以下语言调用函数和使用对象。

呼叫MATLAB来自另一种编程语言

您可以使用另一种语言调用MATLAB发动机应用. 使用MATLAB引擎API,从您自己的应用程序调用MATLAB函数。MATLAB有以下语言的API。

要创建引擎应用程序,请安装支持MATLAB的编译器并使用万博1manbetx墨西哥命令来构建应用程序。

将您的函数称为MATLAB功能

您可以编写自己的函数,并使用MEXAPI将它们作为MATLAB函数调用。有关更多信息,请参阅选择MEX应用程序. 您可以用以下语言编写MEX函数。

要创建MEX文件,请安装支持MATLAB的编译器并使用万博1manbetx墨西哥命令来构建函数。

与Web服务通信

您可以从MATLAB与web服务通信。

  • MATLABRESTful web服务功能允许非程序员使用HTTPGET和POST方法访问许多web服务。

  • 对于RESTfulWeb服务功能不支持的功能万博1manbetx,请使用HTTP接口类用于编写定制的web访问应用程序。

  • 如果您的web服务基于web服务描述语言(WSDL)文档技术,则使用MATLABWSDL函数.

相关话题

外部网站