主要内容

MATLAB代码设计考虑代码生成

当编写MATLAB®你想转换成高效的代码,独立的C / c++代码,您必须考虑以下几点:

  • 数据类型

    C和c++使用静态类型。确定类型的变量在使用之前,MATLAB编码器™需要一个完整的每个变量赋值。

  • 数组大小

    适应可变数组和矩阵是支持代码生成。金宝app您可以定义输入、输出,局部变量在MATLAB函数来表示数据,在运行时不同的大小。

  • 内存

    你可以选择是否生成的代码使用静态或动态内存分配。

    使用动态内存分配,您可能使用更少内存的时间来管理内存。与静态记忆,你会获得更好的速度,但由于更高的内存使用。大多数MATLAB代码利用MATLAB中的动态分级特性,因此动态内存分配通常允许您生成代码从现有的MATLAB代码无需修改它。动态内存分配还允许一些程序无法找到编译即使上界。

    静态分配的内存占用减少生成的代码,因此适用于应用程序哪里有数量有限的可用内存,如嵌入式应用程序。

  • 速度

    因为嵌入式实时应用程序必须运行,代码必须足够快,以满足所需的时钟频率。

    改善的速度生成的代码:

    • 选择一个合适的C / c++编译器。不要使用默认的编译器MathWorks吗®供应与MATLAB的窗户®64位平台。

    • 考虑禁用运行时检查。

      为了安全,在默认情况下,生成的代码为您的MATLAB代码包含内存完整性检查和响应性检查。一般来说,这些检查的结果生成的代码和慢的仿真。禁用运行时检查通常在streamlined生成的代码和更快的仿真结果。禁用这些检查只有如果你有验证数组界限和尺寸检查是不必要的。

另请参阅