codegen
从 MATLAB 代码生成 C 或 C++ 代码
语法
说明
示例
输入参数
限制
您不能为 MATLAB 脚本生成代码。请将脚本重写为函数来生成代码。
不支持在当前文件夹是私有文件夹或 @ 文件夹时生成代码,因为这些文件夹在 MATLAB 中有特殊含义。您可以生成代码来调用 @ 文件夹中的方法和私有文件夹中的函数。
提示
每次
codegen为相同的代码或工程生成相同类型的输出时,都会删除上一次编译生成的文件。如果要保留以前的某次编译生成的文件,请在开始另一次编译之前将这些文件复制到其他位置。如果您未使用
-d选项指定位置,则代码生成器将在文件夹codgen/中创建 C/C++ 源文件、头文件和目标文件,其中outputType/functionName是您传递给functionNamecodegen命令的第一个函数的名称,是以下项之一:outputTypemex(对于 MEX 函数)lib(对于 C/C++ 静态库)dll(对于 C/C++ 动态库)exe(对于 C/C++ 可执行文件)
代码生成器将生成的 MEX 函数保存在工作文件夹中。
例如,假设有以下
codegen命令:codegen -config:lib fun1 fun2
代码生成器会在文件夹
codgen/lib/fun1中创建 C 源文件、头文件和目标文件。如果生成独立代码并且未使用
-o选项指定输出文件名,则代码生成器会创建以您为其生成代码的 MATLAB 函数名称开头的源文件、头文件和目标文件。当您生成 MEX 函数并且未使用
-o选项指定输出文件名时,代码生成器会将_mex追加到第一个 MATLAB 函数(按从左到右的顺序)的名称后。例如,由以下codegen命令生成的 MEX 函数的名称以foo_mex开头:codegen foo bar
代码生成器将特定于平台的和特定于编译的扩展名追加到生成的文件:
.a或.lib(适用于 C/C++ 静态库).exe或无扩展名(适用于 C/C++ 可执行文件).dll(适用于 Microsoft® Windows® 平台上的 C/C++ 动态库).so(适用于 Linux® 平台上的 C/C++ 动态库).dylib(适用于 Mac 平台的 C/C++ 动态库)生成的 MEX 函数的与平台相关的扩展名
您可以使用函数语法调用
codegen。将codegen参量指定为字符向量或字符串标量。例如:codegen('myfunction','-args',{2 3},'-report')
要以编程方式调用
codegen,请使用函数语法。例如:A = {'myfunction','-args',{2 3}}; codegen(A{:})