Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

生成代码

生成代码和编译独立的库及可执行文件

C/C++ 代码生成是 MATLAB® Coder™ 的核心功能。您可以使用 coder 函数打开 App 以生成代码,也可以使用 codegen 函数从命令行生成代码。App 提供了贯穿代码生成过程的分步指导,包括最佳做法指导,还有许多关于代码生成设置和选项的清晰的可视化帮助。命令行工作流则让您能够以简单、可重复且高效的方式启动代码生成。代码生成工作流支持许多不同数据类型,包括可变大小数据和全局数据。该工作流还支持多个入口(顶层)函数、多签名 MEX 函数生成以及基本属性的自定义,例如生成代码的数组布局和数组索引。此外,您可以生成使用关键 C++ 语言功能(如类、命名空间和函数重载)的代码。

App

全部展开

MATLAB CoderMATLAB 代码生成 C 代码或 MEX 函数

函数

全部展开

coder打开 MATLAB Coder App
codegenMATLAB 代码生成 C/C++ 代码。
coder.target确定代码生成目标是否为指定的目标
coder.allowpcodeControl code generation from protected MATLAB files
coder.config创建 MATLAB Coder 代码生成配置对象
coder.extrinsicDeclare a function as extrinsic and execute it in MATLAB
coder.loadLoad compile-time constants from MAT-file or ASCII file into caller workspace
coder.nullcopy在代码生成中声明未初始化的变量
coder.newtypeCreate coder.Type object to represent type of an entry-point function input
coder.varsize声明可变大小数据
coder.typeofCreate coder.Type object to represent the type of an entry-point function input
coder.resizeResize coder.Type object
coder.ceval调用外部 C/C++ 函数
coder.cinclude在生成的代码中包括头文件
coder.cstructname在生成代码中命名 C 结构体类型
coder.opaque在生成的代码中声明变量
coder.ref指示要传引用的数据
coder.rrefIndicate read-only data to pass by reference
coder.wrefIndicate write-only data to pass by reference

对象

全部展开

coder.MexCodeConfigConfiguration parameters for MEX function generation from MATLAB code
coder.CodeConfigConfiguration parameters for C/C++ code generation from MATLAB code
coder.EmbeddedCodeConfigConfiguration parameters for C/C++ code generation from MATLAB code with Embedded Coder
coder.OutputTypeOutput type from an entry-point function to specify as an input type

主题

生成代码基础知识

代码生成工作流

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

使用 MATLAB Coder App 生成 C 代码

使用 MATLAB Coder App 从 MATLAB 代码生成 C/C++ 代码。

通过命令行生成 C 代码

使用 codegen 命令从 MATLAB 代码生成 C/C++ 代码。

C++ 代码生成

了解 C++ 特定的代码生成注意事项。

设置 MATLAB Coder 工程

MATLAB Coder App 中设置工程。

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

Convert codegen Command to Equivalent MATLAB Coder Project

Use the codegen command with the -toproject option.

Convert MATLAB Coder Project to MATLAB Script

Generate code at the command line by using project settings.

Share Build Configuration Settings

Export project settings to a code generation configuration object or import the settings into a project.

特定于数据的工作流

Generate Code for Variable-Size Data

Generate code for data whose size might change at run time.

Generate Code for Global Data

Generate C/C++ code from MATLAB code that uses global data

Generate Code for Enumerations

Generate code from MATLAB code that uses enumerations.

扩展功能

Generate Code for Multiple Entry-Point Functions

Generate C/C++ code for multiple entry-point functions.

Generate One MEX Function for Multiple Signatures

Generate one MEX function for multiple signatures.

Pass an Entry-Point Function Output as an Input

Simplify input type specification for multiple entry-point functions.

Generate Code That Uses Row-Major Array Layout

Generate C/C++ code with row elements stored contiguously in memory.

Generate Code That Uses N-Dimensional Indexing

Preserve array dimensions in generated code.

扩展的 C++ 功能

Generate C++ Code with Class Interface

Generate C++ code that is packaged into a class.

Generate C++ Classes for MATLAB Classes

Generate a C++ class for a value class, handle class, or System object™ in your MATLAB code.

Use Dynamically Allocated C++ Arrays in Generated Function Interfaces

Understand and use dynamically allocated arrays from the generated C++ function interfaces.

Organize Generated C++ Code into Namespaces

Namespaces organize the generated code into logical parts and prevent name collisions.

代码外观

Reserved Keywords

Certain words in your code, that are C/C++ keywords, might be renamed in the generated code.

特色示例