生成 C/C++ 代码
在您为代码生成准备 MATLAB® 代码、指定输入类型并检查代码问题后,您可以生成独立 C/C++ 代码或加速的 MEX 函数。请参阅代码生成工作流。
生成独立的 C/C++ 代码
要生成独立的 C/C++ 代码,请执行以下操作:
在 MATLAB Coder™ 中,从 MATLAB Coder 工具条上的输出类型列表中选择静态库(.lib)、动态库(.dll) 或可执行文件(.exe)。然后,点击生成代码按钮。
在命令行中,将您的入口函数传递给
codegen函数,并使用-config选项指定独立 C/C++ 输出类型。请参阅配置代码生成和编译设置。
在生成独立 C/C++ 代码后,您可以:
创建一个独立 C/C++ 可执行文件并将此应用程序部署在目标平台上。
将生成的源代码或库集成到现有 C/C++ 工程中。
使用工具链在嵌入式微处理器上运行生成的代码。
打包生成的代码以传输到另一个开发环境。
有关详细信息,请参阅部署生成的代码和Package Code for Other Development Environments。
生成加速的 MEX 函数
要生成加速的 MEX 函数,请执行以下操作:
在 MATLAB Coder 中,从 MATLAB Coder 工具条上的输出类型列表中选择 MEX。然后,点击生成代码按钮。
在命令行中,将您的入口函数传递给
codegen函数,并使用-config选项指定 MEX 输出。请参阅配置代码生成和编译设置。
在生成加速的 MEX 函数之前,请执行以下操作:
查看可用的优化策略。特别是,考虑展开
for循环和parfor循环、内联小函数以及按引用传递变量。请参阅优化生成的 C/C++ 和 MEX 代码。禁用运行时检查。仅在您按照代码生成工作流检查 MATLAB 代码问题后,才应禁用运行时检查。要禁用运行时检查,请参阅Control Run-Time Checks。
在生成加速的 MEX 函数后,您可以在 MATLAB 中调用该 MEX 函数。请参阅调用 MEX 函数。您还可以使用 MATLAB 探查器进一步探索加速机会,以识别生成的 MEX 函数中耗时较多的部分。请参阅使用 MATLAB 探查器探查 MEX 函数。
加速的 MEX 函数可用于加速许多不同工具箱中的应用程序和仿真。例如:
实时音频。请参阅加速定点仿真 (Fixed-Point Designer)。
像素流视频处理。请参阅Accelerate Pixel-Streaming Designs Using MATLAB Coder (HDL Coder)。
通信算法仿真。请参阅Simulation Acceleration Using Parallel Computing Toolbox (Communications Toolbox)。
独立应用程序部署。请参阅Use Generated Code to Accelerate an Application Deployed with MATLAB Compiler。
另请参阅
主题
- 在应用程序中使用示例 C 主函数
- Using Dynamic Memory Allocation for an Atoms Simulation
- 生成 MEX 代码以加速弹球仿真
- SIL and PIL Verification for Deployment on Raspberry Pi (Embedded Coder)
- 使用 MATLAB Coder 进行代码生成的概述
- C++ 代码生成
- Tracing Generated C/C++ Code to MATLAB Source Code
- Best Practices for Using MEX Functions to Accelerate MATLAB Algorithms