SuperAPI AI 工具集

matlab-generate-code

测试与质量

查看项目

更新于 10-16 00:21

技能介绍

用途:这是 MATLAB Coder 代码生成的总括技能,覆盖从 MATLAB 函数生成 C/C++ 或 CUDA 代码(MEX、lib、dll、exe)、验证生成结果、调优配置以及通过性能分析加速 MEX 的完整流程。也适用于编写必须兼容代码生成的新 MATLAB 代码、审查现有代码的 codegen 就绪性、修复 codegen 错误。

主要能力:按用户意图加载对应参考文档,包括编写 codegen 就绪代码(%#codegen、语言约束、类型/尺寸规则)、coder.* 指令(coder.varsize、coder.const、coder.inline、coder.unroll、coder.extrinsic、coder.ceval 等)、类在 codegen 中的限制与 coder.ClassSignature、生成代码与 coder.screener、验证(coder.runTest、matlabtest.coder.TestCase、SIL)、配置调优(嵌入式/速度/可读性/尺寸/安全、SIMD、OpenMP)、MEX 性能分析(coder.timeit、coder.perfCompare)以及配置属性查询。

使用方式:先判断意图再按需加载 references 下的对应文件,避免一次性载入全部。写 codegen 就绪函数前需先询问每个输入的数据类型、尺寸/形状、实数或复数。类入口点应使用 coder.ClassSignature 而非包装函数,且需每会话运行一次 enableCodegenForEntryPointClasses。生成 lib/dll/exe 前先用 MEX 验证输出与解释执行一致。coder.screener 必须捕获返回值并检查 UnsupportedCalls 与 Messages。变量路径使用函数调用语法,如 codegen('myFunction', '-config', cfg, '-args', {t1, t2}, '-d', outDir)。配置属性用逻辑 true/false,建议通过 coder.config 实例化后 introspect 实际属性。

适用场景:MATLAB 函数生成 C/C++/CUDA 代码、codegen 兼容性审查与错误修复、目标配置调优、生成代码等价性验证、MEX 性能分析与加速。

限制:不覆盖 Simulink Coder / Embedded Coder 的 Simulink 模型工作流、非 C/C++/CUDA 目标语言、定点转换(Fixed-Point Designer)、手写 MEX 文件,以及与代码生成无关的一般 MATLAB 编程。未经授权不得修改用户源码;除用户明确要求外不生成代码报告。具体版本可用性与价格信息暂未提供。