主要内容

生成代码

生成代码并构建独立的库和可执行文件

代码生成是C/ c++的核心功能MATLAB®编码器™.从应用程序生成代码,你可以打开编码器,或在命令行中使用codegen函数。该应用程序通过代码生成过程提供了一步一步的指导,包括关于最佳实践的指导,以及许多代码生成设置和选项的清晰可视化辅助。命令行工作流支持简单、可重复和高效的代码生成初始化。代码生成工作流支持许多不同的数据类型,包括可变大小的数据和金宝app全局数据。该工作流还支持多个入口点(顶级)函数金宝app、多签名MEX函数生成和基本属性的定制,如生成代码的数组布局和数组索引。此外,还可以生成使用关键c++语言特性(如类、名称空间和函数重载)的代码。

应用程序

全部展开

MATLAB编码器 生成C代码或MEX函数MATLAB代码

功能

全部展开

编码器 开放MATLAB编码器应用程序
codegen 生成C/ c++代码MATLAB代码
coder.target 确定代码生成目标是否指定为目标
coder.allowpcode 控制代码生成保护MATLAB文件
coder.config 创建MATLAB编码器代码生成配置对象
coder.extrinsic 将一个函数声明为外部函数并在内部执行它MATLAB
coder.load 从mat文件或ASCII文件加载编译时常量到调用者工作区
coder.nullcopy 在代码生成中声明未初始化的变量
coder.newtype 创建编码器。类型对象,以表示入口点函数输入的类型
coder.varsize 声明适应数据
coder.typeof 创建编码器。类型对象,以表示入口点函数输入的类型
coder.resize 调整编码器。类型对象
coder.ceval 调用外部C/ c++函数
coder.cinclude 在生成的代码中包含头文件
coder.cstructname 在生成的代码中命名C结构类型
coder.opaque 在生成的代码中声明变量
coder.ref 指示要通过引用传递的数据
coder.rref 指示要通过引用传递的只读数据
coder.wref 指示通过引用传递的仅写数据

对象

全部展开

编码器。MexCodeConfig 用于生成MEX函数的配置参数MATLAB代码
编码器。CodeConfig C/ c++代码生成的配置参数MATLAB代码
编码器。EmbeddedCodeConfig C/ c++代码生成的配置参数MATLAB代码与嵌入式编码器
编码器。OutputType 指定为输入类型的入口点函数的输出类型

主题

生成代码基础

代码生成工作流

从MATLAB代码生成C/ c++代码。

使用MATLAB Coder App生成C代码

利用MATLAB代码生成C/ c++代码MATLAB编码器应用程序。

在命令行生成C代码

利用MATLAB代码生成C/ c++代码codegen命令。

c++代码生成

理解特定于c++的代码生成注意事项。

建立一个MATLAB编码器项目

建立一个项目在MATLAB编码器应用程序。

在命令行和项目工作流之间切换

将codegen命令转换为等效MATLAB编码器项目

使用codegen命令-toproject选择。

转换MATLAB编码器项目到MATLAB脚本

使用项目设置在命令行生成代码。

共享生成配置设置

将项目设置导出到代码生成配置对象或将设置导入到项目中。

数据特有的工作流

生成可变大小数据的代码

为在运行时大小可能改变的数据生成代码。

为全局数据生成代码

从使用全局数据的MATLAB代码生成C/ c++代码

为枚举生成代码

从使用枚举的MATLAB代码生成代码。

扩展功能

为多个入口点函数生成代码

为多个入口点函数生成C/ c++代码。

为多个签名生成一个MEX函数

为多个签名生成一个MEX函数。

传递一个入口点函数输出作为输入

简化多个入口点函数的输入类型规范。

生成使用行主数组布局的代码

用连续存储在内存中的行元素生成C/ c++代码。

生成使用n维索引的代码

在生成的代码中保留数组尺寸。

c++扩展功能

用类接口生成c++代码

生成打包到类中的c++代码。

为MATLAB类生成c++类

在MATLAB代码中为值类、句柄类或System对象™生成一个c++类。

在生成的函数接口中使用动态分配的c++数组

理解并使用从生成的c++函数接口动态分配的数组。

将生成的c++代码组织到命名空间中

名称空间将生成的代码组织为逻辑部分,并防止名称冲突。

代码的外观

保留关键字

代码中的某些C/ c++关键字可能会在生成的代码中重命名。

特色的例子