从MATLAB算法生成面向对象的c++代码
学习如何使用MATLAB编码器™从MATLAB生成面向对象的c++代码®类。
- 从MATLAB生成c++类类:MATLAB编码器产生的c++类的类在MATLAB代码中,包括值类,处理类,和系统对象。生成的代码可以编译为c++库或可执行文件,可以集成到现有的c++源代码。
- 生成c++代码与名称空间:MATLAB编码器可以生成c++代码在一个名称空间,因此很容易与其他源代码集成可能有相同的函数或数据类型的名称。代码生成器包所有生成的功能和类型定义名称空间。
- 使用动态分配的c++数组生成的函数接口:为MATLAB生成c++代码函数接受或返回一个数组,数组大小未知在编译时,或其超出了预先定义的阈值。在生成的代码中,数组的内存动态分配和实现为一个类模板命名编码器::数组。除了异常安全内存回收,编码器::数组提供api来访问和管理动态数组。
介绍
在这个演示中,我将使用MATLAB编码器生成生产从MATLAB算法c++代码。我们做了一些改进c++代码生成,我想突出这些在这个视频。
MATLAB的例子我要用代表振荡系统。<显示生活的照片编辑系统的输出>
打开应用程序和设置
<打开应用程序,选择在后台入口点>
我要生成一些MATLAB c++类的类使用MATLAB编码器应用。今天我将展示的一切也可以使用codegen命令从命令行。
effectOfDamping入口点。我需要告诉MATLAB编码器的输入函数类型的需求。我们可以运行测试脚本runEffectOfDamping自动检测我的类型。
检查问题
我还将使用相同的测试脚本,以检查运行时问题之前生成c++代码。<在后台检查问题>
代码生成
我要生成一个DLL和c++与我的团队分享这段代码。选择c++显示一个选项添加到R2019b叫做“界面风格”的地方,在那里你可以选择一个接口与自由函数或使用类和一个接口类的方法。我要选择“方法”获得更多惯用c++和我名字类OscillatorInterface所以我们可以在生成的代码中找到它。<现在生成代码>
查看生成的代码
为了探索生成的代码,让我们打开MATLAB编码器报告。在左边,我们看到我们的输入MATLAB代码和生成c++代码。
封装类
让我们看看接口类产生的“界面风格”选项。从DLL导出类,处理初始化和清理,和我们的入口点函数作为一个公共方法。任何MATLAB持久和全局变量映射到类属性生成的代码实例。
MATLAB c++类类
从R2020a MATLAB类映射到c++类。R2020b添加地图MATLAB软件包的能力c++名称空间。生成c++类模拟尽可能多的MATLAB类的属性。
编码器:数组
在R2020a生成的代码使用编码器:数组类来管理动态分配的数组。编码器:数组接口类似的std::向量,提供索引运算符过载,并确保异常安全的内存回收。
银和调试
让我们检查我们的代码的行为。与嵌入式编码器,<选择测试脚本并启用调试>我可以使用硅调试调试器打开生成的代码。<在后台运行>中的代码启动一个单独的过程,这一过程是在Visual Studio调试。MATLAB编码器传递的数据脚本生成的代码。
包
一旦我们满意的行为生成的代码,我将计划我的团队在一个ZIP文件的代码。
之后,如果你想从命令行工作流程自动化构建应用程序,选择“转换为脚本”选项让您的项目的一个脚本版本。
性能/兼容性
我们一直在不断改进MATLAB编码器。R20xx以来,我们添加了支持众多MATLAB功能万博1manbetx,包括表、DateTime,时间表,和支持机器学习和深入学习。我们努力生成快接近甚至超过手工编写的代码。
完成
如果你有兴趣从MATLAB c++代码生成代码我建议看看新的c++功能在MATLAB R2020b编码器。综上所述,它们允许惯用的生成,并使用MATLAB编码器异常安全c++代码。在这个视频中使用的示例代码是可用的产品文档。谢谢收看!
相关产品s manbetx 845
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。