我需要将一些MATLAB代码转换为C ++。我正在使用Visual Studio 2010并安装了MATLAB编译器。我想知道如何做到这一点。
当我发布我的项目时,最终用户是否必须通过MATLAB安装任何东西? (情况不是这样)
答案 0 :(得分:3)
您可以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编译器运行时(MCR)的运行时引擎。 MCR随MATLAB编译器一起提供,可与您的应用程序一起分发,并可免费部署。
答案 1 :(得分:2)
你不会摆脱Matlab运行时。我经常使用Matlab编译器时遇到问题。它基本上就像是围绕Matlab运行时的包装器,生成笨拙的代码并且确实为部署引入了许多问题。 C替代品......?我找不到任何东西。所以我最近切换到ilnumerics,就像C#中的Matlab一样 - 只是更快,不需要翻译。它到目前为止效果很好,因为我们无论如何都使用ASP.NET,因此可以节省语言之间的跳跃,并且可以直接使用ilnumerics的3d图。
答案 2 :(得分:0)
您拥有的另一个选择是使用MATLAB Engine。它可能不是实时应用程序的选项,但除此之外它真的很好。您基本上可以直接从C ++调用MATLAB函数。将显示数字(图表),就像您运行本地MATLAB一样。程序启动时,会创建一个MATLAB控制台。