主要内容

c++代码生成

MATLAB®编码器™使您能够生成C或c++代码。默认代码生成器生成C代码。生成c++代码可以使用C语言的功能不可用,可使c++代码可读性更强,并且易于使用。

生成c++代码

生成c++代码,遵循相同的总体工作流程步骤,用于生成C代码。例如,请参见在命令行生成C代码。选择c++语言选项从命令行,代码生成配置设置,或者从MATLAB编码器应用程序。

假设您想要为一个函数生成c++代码喷火接受零输入:

  • 从命令行,可以使用朗:c++说明符。这说明符提供快速、简单的方法来生成c++代码。例如,生成c++静态库和c++源代码喷火,输入:

    codegen配置:自由朗:c++喷火
  • 在配置对象,设置TargetLang参数C + +。例如,要生成一个c++动态库,输入:

    cfg = coder.config (“dll”);cfg。TargetLang =“c++”;codegen配置cfg喷火
  • 从应用程序的生成代码步骤中,选择c++语言按钮。

c++语言特性支持生成的代码万博1manbetx

了解代码生成,采用c++语言关键特性,引用这些帮助主题:

目标 更多的信息

生成c++类MATLAB代码的类。

为MATLAB生成c++类的类

生成入口点函数作为c++类中的方法。

生成c++代码的类接口

为MATLAB软件包生成c++名称空间。将所有生成的代码在一个你指定的名称空间。把所有MathWorks生成的代码®代码在一个指定的名称空间。

生成c++代码组织成名称空间

通过动态分配的数组之间定制c++代码和生成的代码。生成c++代码实现这样的数组使用编码器:数组类模板。生成的代码提供了一个简单的API,您可以使用与该模板。

使用动态分配的c++数组生成的函数接口

这些例子说明这些功能的使用:

额外的差异生成的C和c++代码

如果你单独生成C和c++代码相同的MATLAB函数,并检查生成的源代码,还有实现的差异。这是一些明显的差异:

  • 生成c++代码包含重载的函数或方法具有相同的名称,但支持多个签名。万博1manbetxC语言不支持重载函数。万博1manbetx

  • 生成c++代码重用相同的标识符名称在不同的命名空间层次结构。例如,同一类型的名字myType可以出现在两个不同的名称空间与顶级名称空间层次结构myNamespace_1myNamespace_2。C语言不支持名称空间和重用的标识符的名字。万博1manbetx

  • 在生成的C代码,标题包含的函数# ifdef __cplusplus包括指定的警卫外来的“C”标识符生成的C函数。编译器和链接器使用这些标识符在构建C代码作为一个c++项目的一部分。

  • 生成c++代码使用. cppc++文件和文件扩展名。h头文件的扩展。生成C代码使用。c。h扩展。

  • 生成c++代码使用了一些c++转换,等等static_cast比铸造更明确的语法在C。

  • 生成的代码定义的值基于不同的c++和C的机制。

  • 生成c++代码使用中描述的自定义数据类型MATLAB的类型映射到生成的代码类型

  • 生成c++代码使用不同的比生成C代码库。例如,默认语言标准c++和C中描述改变语言标准

另请参阅

相关的话题