生成 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 MATLAB Coder and 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
- Generate MEX Code to Accelerate Simulation of Bouncing Balls
- 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