-c生成 C/C++ 代码,但不调用 make 命令。

-config:dll使用默认配置参数生成动态 C/C++ 库。

-config:exe使用默认配置参数生成静态 C/C++ 可执行文件。

-config:lib使用默认配置参数生成静态 C/C++ 库。

-config:mex使用默认配置参数生成 MEX 函数。

-config:single使用默认配置参数生成单精度 MATLAB 代码。

需要 Fixed-Point Designer。

-config config_object指定包含代码生成参数的配置对象。config_object 是以下配置对象之一:

coder.CodeConfig - 用于独立 C/C++ 库或生成可执行文件的参数(如果 Embedded Coder® 不可用)。

% Configuration object for a dynamic linked library

cfg = coder.config('dll')

% Configuration object for an executable

cfg = coder.config('exe')

% Configuration object for a static standalone library

cfg = coder.config('lib')

coder.EmbeddedCodeConfig - 用于独立 C/C++ 库或生成可执行文件的参数(如果 Embedded Coder 可用)。

% Configuration object for a dynamic linked library

ec_cfg = coder.config('dll')

% Configuration object for an executable

ec_cfg = coder.config('exe')

% Configuration object for a static standalone library

ec_cfg = coder.config('lib')

coder.MexCodeConfig - 用于生成 MEX 代码的参数。

mex_cfg = coder.config

% or

mex_cfg = coder.config('mex')

有关详细信息,请参阅配置编译设置。

-d out_folder将生成的文件存储在 out_folder 指定的绝对或相对路径中。out_folder 不能包含:

空格,因为在某些操作系统配置中空格可能导致代码生成失败。

非 7 位 ASCII 字符,如日语字符。

如果 out_folder 指定的文件夹不存在,codegen 会创建它。

如果不指定文件夹位置,codegen 会在下面的默认文件夹中生成文件:

codegen/target/fcn_name.

target 可以是:

mex(对于 MEX 函数)

exe(对于可嵌入的 C/C++ 可执行文件)

lib(对于可嵌入的 C/C++ 库)

dll(对于 C/C++ 动态库)

fcn_name 是命令行中第一个 MATLAB 函数(按字母顺序排列)的名称。

该函数不支持在文件夹名称中使用以下字符:星号 (*)、问号 (?)、美元符号 ($) 和镑符号 (#)。

注意

每次 codegen 为相同的代码生成相同类型的输出时,都会删除上一次编译生成的文件。如果要保留以前的某次编译生成的文件,请在开始新的编译之前将这些文件复制到其他位置。

-double2single

double2single_cfg_name使用 coder.SingleConfig 对象 double2single_cfg_name 指定的设置生成单精度 MATLAB 代码。codegen 在文件夹 codegen/fcn_name/single 中生成文件。

fcn_name 是入口函数的名称。

当与 -config 选项结合使用时,也会生成单精度 C/C++ 代码。codegen 在文件夹 codegen/target/folder_name 中生成单精度文件。

target 可以是:

mex(对于 MEX 函数)

exe(对于可嵌入的 C/C++ 可执行文件)

lib(对于可嵌入的 C/C++ 库)

dll(对于 C/C++ 动态库)

folder_name 是 fcn_name 和 singlesuffix 的串联。

singlesuffix 是 coder.SingleConfig 属性 OutputFileNameSuffix 指定的后缀。此文件夹中的单精度文件也有此后缀。

有关详细信息,请参阅Generate Single-Precision MATLAB Code。您必须有 Fixed-Point Designer 才能使用此选项。

-float2fixed

float2fixed_cfg_name当与 -config 选项结合使用时,使用浮点到定点转换配置对象 float2fixed_cfg_name 指定的设置生成定点 C/C++ 代码。

codegen 在文件夹 codegen/target/fcn_name_fixpt 中生成文件。target 可以是:

mex(对于 MEX 函数)

exe(对于可嵌入的 C/C++ 可执行文件)

lib(对于可嵌入的 C/C++ 库)

dll(对于 C/C++ 动态库)

fcn_name 是入口函数的名称。

如果不使用 -config 选项,则使用浮点到定点转换配置对象 float2fixed_cfg_name 指定的设置生成定点 MATLAB 代码。codegen 在文件夹 codegen/fcn_name/fixpt 中生成文件。

您必须设置 float2fixed_cfg_name 的 TestBenchName 属性。例如:

fixptcfg.TestBenchName = 'myadd_test';此命令指定 myadd_test 是浮点到定点配置对象 fixptcfg 的测试文件。

有关详细信息,请参阅Convert MATLAB Code to Fixed-Point C Code。您必须有 Fixed-Point Designer 才能使用此选项。

-g指定是否对 C 编译器使用调试选项。如果启用调试模式,C 编译器会禁用一些优化。编译速度会更快,但执行速度会更慢。

-globals

global_values在 MATLAB 文件中指定全局变量的名称和初始值。

global_values 是全局变量名称和初始值组成的元胞数组。global_values 的格式是:

{g1, init1, g2, init2, ..., gn, initn}

gn 是指定为字符向量的全局变量的名称。initn 是初始值。例如:

-globals {'g', 5}

也可以使用以下格式:

-globals {global_var, {type, initial_value}}

type 是类型对象。要创建类型对象,请使用 coder.typeof。对于全局元胞数组变量,必须使用此格式。

在使用 codegen 生成代码之前,需要初始化全局变量。如果您没有使用 -globals 选项为全局变量提供初始值,codegen 会检查 MATLAB 全局工作区中的变量。如果不提供初始值,codegen 会产生错误。

MATLAB Coder 和 MATLAB 各有自己的全局数据副本。为了保持一致性,只要两者有交互,就请同步其全局数据。如果不同步数据,其全局变量可能会不同。

要为全局变量指定常量值,请使用 coder.Constant。例如:

-globals {'g', coder.Constant(v)} 指定 g 为具有常量值 v 的全局变量。

-I include_path将 include_path 添加到代码生成路径的开头。当 codegen 搜索 MATLAB 函数和自定义 C/C++ 文件时,它首先搜索代码生成路径。它不会搜索代码生成路径上的类。类必须位于 MATLAB 搜索路径上。有关详细信息,请参阅Paths and File Infrastructure Setup。

如果路径包含非 7 位 ASCII 字符,如日语字符,则 codegen 可能在此路径上找不到文件。

如果您的 include_path 包含的路径包含空格,请用双引号将每个实例括起来,例如:

'C:\Project "C:\Custom Files"'

-jit使用即时 (JIT) 编译来生成 MEX 函数。JIT 编译可以加速 MEX 函数的生成。此选项仅适用于 MEX 函数生成。此选项与某些代码生成功能或选项不兼容,例如自定义代码或使用 OpenMP 库。

-lang:c将生成代码的目标语言指定为 C 语言。

如果没有指定任何目标语言,代码生成器将生成 C 代码。

-lang:c++将生成代码的目标语言指定为 C++。

-launchreport生成并打开一个代码生成报告。如果未指定此选项,则仅当出现错误或警告消息或者您指定了 -report 选项时,codegen 才会生成报告。

-o output_file_name使用基本名称 output_file_name 和以下扩展名之一生成 MEX 函数、C/C++ 库或 C/C++ 可执行文件:

.a 或 .lib(适用于 C/C++ 静态库)

.exe 或无扩展名(适用于 C/C++ 可执行文件)

.dll(适用于 Microsoft® Windows® 系统上的 C/C++ 动态库)

.so(适用于 Linux® 系统上的 C/C++ 动态库)

.dylib(适用于 Mac 系统上的 C/C++ 动态库)

生成的 MEX 函数的与平台相关的扩展名

output_file_name 可以是文件名,也可以包含现有路径。output_file_name 不能包含空格,因为在某些操作系统配置中空格可能导致代码生成失败。

对于 MEX 函数,output_file_name 必须为有效的 MATLAB 函数名称。

如果没有为库和可执行文件指定输出文件名,则基本名称是 fcn_1。fcn_1 是命令行中指定的第一个 MATLAB 函数的名称。对于 MEX 函数,基本名称是 fcn_1_mex。您可以运行原始 MATLAB 函数和 MEX 函数,并比较结果。

-O

optimization_option根据 optimization_option 的值优化生成的代码:

enable:inline - 启用函数内联。

enable:openmp - 使用 OpenMP 库(如果可用)。使用 codegen 为 parfor 循环生成的 OpenMP 库、MEX 函数或 C/C++ 代码可以在多个线程上运行。

disable:openmp - 禁用 OpenMP 库。禁用 OpenMP 后,codegen 将 parfor 循环视为 for 循环,并生成在单线程上运行的 MEX 函数或 C/C++ 代码。请参阅Control Compilation of parfor-Loops。

在命令行上为每次优化指定一次 -O。

如果没有指定,则 codegen 使用内联和 OpenMP 进行优化。

-package

zip_file_name将生成的独立代码及其依存关系打包到名为 zip_file_name 的压缩 ZIP 文件中。然后,您可以使用该 ZIP 文件以转移到另一个开发环境中进行解包并重新编译代码文件。

packNGo 函数也提供此打包功能。

-profile使用 MATLAB 探查器启用对生成的 MEX 函数的探查。有关详细信息,请参阅使用 MATLAB 探查器探查 MEX 函数。

-report生成代码生成报告。如果未指定此选项,则仅当出现错误或警告消息或者您指定了 -launchreport 选项时,codegen 才会生成报告。

如果您有 Embedded Coder,则此选项还支持生成代码替换报告。

-singleC您必须有 Fixed-Point Designer 才能使用此选项。

-std:c89/90为生成代码使用 C89/90 (ANSI) 标准数学库。

-std:c99为生成代码使用 C99 (ISO) 标准数学库。

-std:c++03为生成代码使用 C++03 (ISO) 标准数学库。仅在生成 C++ 代码时才能使用此库。

-std:c++11为生成代码使用 C++11 (ISO) 标准数学库。仅在生成 C++ 代码时才能使用此库。

-test test_file运行 test_file,将调用原始 MATLAB 函数替换为调用 MEX 函数。使用此选项等效于运行 coder.runTest。

仅当生成 MEX 函数或使用将 VerificationMode 设置为 'SIL' 或 'PIL' 的配置对象时,才支持此选项。创建具有 VerificationMode 参数的配置对象需要 Embedded Coder 产品。

定点转换或单精度转换不支持此选项。

-toproject

project_file_name将 codegen 命令转换为名为 project_file_name 的等效 MATLAB Coder 工程文件。然后,您可以使用另一个 codegen 命令或 MATLAB Coder App 从工程文件中生成代码。

您还可以使用 -toproject 选项将不完整的 codegen 命令转换为工程文件。例如,运行如下命令可创建工程文件 myProjectTemplate.prj,其中仅包含存储在配置对象 cfg 中的代码生成参数:

codegen -config cfg -toproject myProjectTemplate.prj在本例中,myProjectTemplate.prj 不包含入口函数或输入类型的设定。因此,您无法从这个工程文件生成代码。您可以在 MATLAB Coder App 中打开 myProjectTemplate.prj,并将其作为模板来创建可用于生成代码的完整工程文件。

使用 -toproject

project_file_name 选项运行 codegen 不会生成代码。它只创建工程文件。

-v启用详尽模式以显示编译步骤。仅在生成库或可执行文件时使用。

-?显示 codegen 命令的帮助。

matlab中codegen是什么,从 MATLAB 代码生成 C/C++ 代码。 - MATLAB codegen - MathWorks 中国...相关推荐

  1. matlab中多元线性回归regress函数精确剖析(附实例代码)

    matlab中多元线性回归regress函数精确剖析(附实例代码) 目录 前言 一.何为regress? 二.regress函数中的参数 三.实例分析 总结 前言 regress函数功能十分强大,它可 ...

  2. matlab方程近似求根,第七讲MATLAB中求方程的近似根(解)教学目的学习matlab中求根命令.doc...

    第七讲MATLAB中求方程的近似根(解)教学目的学习matlab中求根命令 第七讲 MATLAB中求方程的近似根(解) 教学目的:学习matlab中求根命令,了解代数方程求根求解的四种方法,即图解法. ...

  3. matlab中矩阵的累加,累加和与累乘积在matlab中-read.ppt

    累加和与累乘积在matlab中-read 多项式 多项式表达方式的约定 创建多项式的方法 多项式运算函数 常用列表参阅表2-10 多项式表达方式的约定 MATLAB约定降幂多项式P(x)=a0xn+ ...

  4. matlab中结束脚本运行_疫情当前,生活向前 | MATLAB 一直 Online 等你

    疫情当前,生活向前,希望如期而至的不止是春天,还有疫情过后平安而充实的你 ! MATLAB 连夜帮你整理了我们所有网上的学习资源,为了注定不平凡的你. ◆  ◆  ◆   三大工具,在家开学也不怕[1 ...

  5. matlab中x从0到5不含0,关于MATLAB的数学建模算法学习笔记

    关于MATLAB的数学建模算法学习笔记 目录 线性规划中应用: (3) 非线性规划: (3) 指派问题;投资问题:(0-1问题) (3) 1)应用fmincon命令语句 (3) 2)应用指令函数:bi ...

  6. matlab求信号的瞬时相位,phrase MATLAB中关于信号瞬时相位 频率的提取的代码,值得学习,很实用 267万源代码下载- www.pudn.com...

    文件名称: phrase下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 2403 KB 上传时间: 2014-05-06 下载次数: 94 提 供 者: 杨 ...

  7. MATLAB中(:,1)是什么含义?/MATLAB中冒号的用法

    f(:,1)就是取f 矩阵的第1列. f=[1,2,3; 3,4,6; 7,8,9] f(:,1) matlab中冒号的用法总结: 1) a:b 表示[a,a+1,--,b] A=1:5 A = 1 ...

  8. matlab中估计丢失的数据,空间计量经济学基本模型的matlab估计

    原标题:空间计量经济学基本模型的matlab估计 空间计量经济学 Matlab应用学习手册 空间计量经济学创造性地处理了经典计量方法在面对空间数据时的缺陷,考察了数据在地理观测值之间的关联.近年来在人 ...

  9. matlab中input输入多个数_你可能不知道的MATLAB操作技巧#第二话

    回顾链接  这是#第一话#的超链接,让大家对MATLAB有一个感性认识. 第二话 1-梳理一下MATLAB中的字符char.符号变量symbol和数值型变量double等的区别.经过图图长时间调研,发 ...

  10. matlab中连续信号的卷积,连续时间信号卷积运算的MATLAB实现

    . . . .. .. 连续时间信号卷积运算的MATLAB 实现 一.实验目的 (1) 理解掌握卷积的概念及物理意义. (2) 理解单位冲击响应的概念及物理意义. 二.实验原理 根据前述知识,连续信号 ...

最新文章

  1. leetcode--移除元素--python
  2. 树莓派DIY智能无臭猫便盆,拉完粑粑自动通风,成本不到400元
  3. Linux和Windows文件系统
  4. linux下安装Apache,php,Mysql
  5. 数据链路层---使用集线器的星型拓扑_传统以太网传输介质的改变_总线型--->双绞线为介质的以太网采用星型拓扑_集线器的特点_集线器之间的远程连接
  6. TCP协议——粘包与拆包
  7. Redis 快速搭建与使用
  8. 我被跨系统的换行符折磨疯了~~~
  9. python-day1-03-格式化输出
  10. I.MX6 Linux Serial Baud Rate hacking
  11. web项目出现的异常
  12. linux vmware时间问题
  13. 3月28日晚中央电视台出现重大故障?!
  14. 为什么下拉框拉不下来_为什么分手后对方不删除拉黑你,但又不和你复合?
  15. 【接口时序】8、DDR3驱动原理与FPGA实现(一、DDR的基本原理)
  16. 【云驻共创】华为云助力加速构建企业数据资产和数据治理生产线
  17. Mac 系统添加右键功能菜单--新建 office,文档等
  18. java解析宏文件,从命令行或批处理文件运行Excel宏的方法?
  19. Hive SQL 每日SQL
  20. ES (ElasticSearch) 简易解读(一)为什么用它

热门文章

  1. POJ3737UmBasketella
  2. java与英语词汇_Java英语词汇表
  3. VCS+Verdi 安装及破解过程(Ubuntu)【1】
  4. html前端开发学年论文,web前端毕业设计论文.doc
  5. 「 C/C++疑难杂症 」warning: ISO C++ forbids converting a string constant to ‘CHAR*’ {aka ‘char*’} [-Wwrite
  6. C++将两个字符串合并在一起
  7. 计算机中现代操作系统两个基本特征是什么,现代操作系统的两个基本特征是资源共享和...
  8. 游戏创业团队应该选择Git还是Svn
  9. android 画图便宜,10个最好用的绘画App,赶紧mark
  10. 【HTTP协议其实很简单】03.自己写一个微型静态Web服务器