codegen
从 MATLAB 代码生成 C/C++ 代码
语法
说明
codegen 从 MATLAB® 函数生成 C 或 C++ 代码,并编译生成的代码。如果以下任一条件成立,则此语法适用:options function
函数没有输入参量。
函数包含一个或多个
arguments块,用于指定所有输入参量的类型和大小。
使用 options 参量指定代码生成配置对象等设置。配置对象控制编译类型(MEX、lib、dll 或 exe)和代码生成参数。有关创建和使用配置对象的信息,请参阅配置代码生成和编译设置、coder.config,以及配置对象参考页:coder.CodeConfig、coder.MexCodeConfig 和 coder.EmbeddedCodeConfig。
codegen 使用带 options function -args {func_inputs}func_inputs 类型输入的 MATLAB 函数生成 C 或 C++ 代码,并编译生成的代码。使用 options 参量指定代码生成配置对象等设置。配置对象控制编译类型(MEX、lib、dll 或 exe)和代码生成参数。有关创建和使用配置对象的信息,请参阅配置代码生成和编译设置、coder.config,以及配置对象参考页:coder.CodeConfig、coder.MexCodeConfig 和 coder.EmbeddedCodeConfig。
如果函数没有输入,请省略函数特定的 -args { 选项。func_inputs}
codegen 从使用在外部 options files function -args {func_inputs}files 中指定的自定义源代码的 MATLAB 函数生成 C/C++ 代码。有关详细信息,请参阅从生成的代码中调用自定义 C/C++ 代码和Configure Build for External C/C++ Code。
codegen 生成 C/C++ 代码,并控制从 MATLAB 函数生成的 C/C++ 函数代码的输出参量个数。文件和选项参量是可选的。如果并不需要 MATLAB 函数的所有输出,则请使用 options files function -args {func_inputs} -nargout number_args-nargout 选项。有关详细信息,请参阅Specify Number of Input or Output Arguments to Entry-Point Functions。
codegen 从多个 MATLAB 函数生成 C/C++ 代码。请在每个函数名称的后面分别写入函数的输入参量。还可以对每个函数使用 options files function1 -args {func1_inputs} ... functionN -args {funcN_inputs}-nargout 选项。从其中生成代码的函数称为入口函数。有关详细信息,请参阅Generate Code for Multiple Entry-Point Functions。
codegen 生成代码,其生成的代码可接受具有 options files function -args {func_inputs1} ... -args {func_inputsN}-args 指定的多个类型签名的输入参量。对于 MEX 目标,会生成接受所有指定签名的单个 MEX 函数。但是,对于独立目标,会为每个签名生成一个 C/C++ 入口函数。使用 options 参量指定代码生成配置对象和参数等设置。有关详细信息,请参阅Generate Code for Functions with Multiple Signatures。
codegen 从 MATLAB Coder™ 工程文件(例如 projecttest.coderprj)生成代码。
示例
输入参数
限制
您不能为 MATLAB 脚本生成代码。请将脚本重写为函数来生成代码。
不支持在当前文件夹是私有文件夹或 @ 文件夹时生成代码,因为这些文件夹在 MATLAB 中有特殊含义。您可以生成代码来调用 @ 文件夹中的方法和私有文件夹中的函数。
为命名空间中的入口函数生成代码时,codegen 命令不支持选项
-double2single、-float2fixed和-singleC。
提示
默认情况下,代码是在文件夹
codegen/中生成的。MEX 函数和可执行文件被复制到当前工作文件夹。target/function为了简化代码生成过程,您可以在单独的脚本中编写代码生成命令。您在该脚本中定义您的函数输入类型和代码生成选项。要生成代码,请调用该脚本。
每次
codegen为相同的代码或工程生成相同类型的输出时,都会删除上一次编译生成的文件。如果要保留以前的某次编译生成的文件,请在开始新的编译之前将这些文件复制到其他位置。使用
coder函数打开 MATLAB Coder,并创建一个 MATLAB Coder 工程。该 App 提供了用户界面,便于您添加 MATLAB 文件、定义输入参数和指定编译参数。您可以使用函数语法调用
codegen。将codegen参量指定为字符向量或字符串标量。例如:codegen('myfunction','-args',{2 3},'-report')
要提供字符串标量作为输入或将
codegen参量指定为字符串标量,请使用函数语法。例如:codegen('myfunction','-args',"mystring",'-report') codegen("myfunction","-args","mystring","-report")
向
codegen的命令形式提供字符串标量输入可能会产生意外的结果。请参阅选择命令语法或函数语法。要以编程方式调用
codegen,请使用函数语法。例如:A = {'myfunction','-args',{2 3}}; codegen(A{:})
版本历史记录
在 R2011a 中推出
另请参阅
coder | coder.typeof | fimath (Fixed-Point Designer) | numerictype (Fixed-Point Designer) | mex | fi (Fixed-Point Designer) | coder.EnumType | coder.runTest | parfor | coder.FixPtConfig | coder.config | packNGo