【问题标题】:Converting Matlab to C++将 Matlab 转换为 C++
【发布时间】:2011-12-05 14:38:50
【问题描述】:

我需要将一些 MATLAB 代码转换为 C++。我正在使用 Visual Studio 2010 并安装了 MATLAB 编译器。我想知道我该怎么做。

另外,当我发布我的项目时,最终用户是否必须通过 MATLAB 安装任何东西? (这不可能)

【问题讨论】:

    标签: c++ visual-studio matlab matlab-deployment matlab-compiler


    【解决方案1】:

    您不会摆脱 Matlab 运行时。我在使用 Matlab 编译器时经常遇到问题。它基本上就像 Matlab 运行时的包装器,生成笨拙的代码并确实引入了许多部署问题。 C替代品...?我找不到任何东西。所以我最近切换到ilnumerics,它就像 C# 中的 Matlab - 只是更快而且不需要翻译。到目前为止效果很好,因为我们无论如何都使用 ASP.NET,因此可以节省语言之间的跳转,并且可以直接使用 3d 非数字图。

    【讨论】:

      【解决方案2】:

      您可以将compile Matlab scripts 转换为独立的可执行文件,但我不熟悉将 Matlab 代码转换为 Visual C++ 代码的 Matlab 工具。您可以使用 Simulink Coder(以前称为 Real-Time Workshop)将 Matlab 代码转换为 C 或 C++,它是 Mathworks 的一个单独产品。

      要运行独立的可执行文件,用户必须安装 Matlab Compiler Runtime。来自Matlab Compiler web page

      使用 MATLAB Compiler 产品创建的可执行文件和库使用称为 MATLAB Compiler Runtime (MCR) 的运行时引擎。 MCR 与 MATLAB Compiler 一起提供,用于随您的应用程序一起分发,并且可以免版税部署。

      【讨论】:

      • 很久很久以前,MATLAB 编译器用于将 MATLAB 代码翻译成 C,但它已经有一段时间没有这样做了。如今,它只是将 (*.m) MATLAB 源文件转换为经过混淆的预解析格式 (.p),并打包以便可以作为独立的可执行文件运行或从另一个程序调用。无论哪种方式,要运行它的目标机器都需要从开发应用程序的 MATLAB 版本安装 MCR。
      • “但我不认为有一个 Matlab 工具可以将 Matlab 代码转换为 C++ 或 Visual C++ 代码”-错误信息:有这样一个 Matlab 工具,它被称为实时研讨会。但是,这是 Matlab 编译器的独立产品,需要不同的许可证。
      【解决方案3】:

      您的另一个选择是使用MATLAB Engine。它可能不是实时应用程序的选择,但除此之外它真的很好。您基本上可以直接从 C++ 调用 MATLAB 函数。图形(绘图)将像运行本地 MATLAB 一样显示。程序启动时,会创建一个 MATLAB 控制台。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-08
        • 2013-05-13
        • 2016-11-07
        • 2023-03-27
        • 2014-05-21
        • 1970-01-01
        相关资源
        最近更新 更多